Presenting control interface based on multi-input command

ABSTRACT

Techniques are described herein that are capable of presenting a control interface based on (e.g., based at least in part on) a multi-input command. A multi-input command is a command that includes two or more inputs. Each of the inputs may be of any suitable type. For instance, any one or more of the inputs may be a touch input, a hover input, etc. Moreover, any one or more of the inputs may be a finger input, a pointing device input, etc. A finger input is an input in which a finger touches or hovers over a touch display module of a touch-enabled device. A pointing device input is an input in which a pointing device (e.g., a stylus) touches or hovers over a touch display module of a touch-enabled device.

BACKGROUND

Touch-enabled devices have captured a substantial share of the computermarket in recent years. A touch-enabled device is a device that iscapable of detecting touch commands. A touch command is a command inwhich an object, such as a finger, physically touches a touch displaymodule of a touch-enabled device. Some touch-enabled devices have anassociated stylus (e.g., a pen), which may be used to provide the touchcommands.

A user's hand often travels a relatively long distance to provide atouch command. Thus, conventional user interface (UI) commandingtechniques for touch and stylus interfaces may be relativelyinefficient. Moreover, the conventional UI commanding techniques may belimited to use with relatively large touch targets that stay on a touchscreen of the touch display module.

A variety of techniques has been proposed for presenting a controlinterface on a touch-enabled device. However, each such technique hasits limitations. For instance, a first technique utilizes UI controlsthat are always visible. However, the UI controls typically are in afixed location and consume a substantial portion of the touch screen ofthe touch-enabled device. A second technique utilizes a floatingtoolbar, which includes the UI controls. Although the UI controls in afloating toolbar may be positioned closer to a user's hand, the UIcontrols still typically consume a substantial portion of the touchscreen. Furthermore, movement of the toolbar is performed manually bythe user when the user desires to see a portion of the touch screen thatis obstructed by the toolbar. A third technique utilizes a contextualcommand gesture, such as a press-and-hold gesture, to launch the UIcontrols. However, such gestures often are used to control objects onthe touch screen, and therefore may not be available for launching theUI controls. Moreover, contextual command gestures typically are timedgestures and therefore may consume a substantial amount of time toperform, which may delay the launch of the UI controls. Furthermore, theUI controls usually are closed manually by the user when the userdesires to see a portion of the touch screen that is obstructed by thetoolbar.

SUMMARY

Various approaches are described herein for, among other things,presenting a control interface based on (e.g., based at least in parton) a multi-input command. A multi-input command is a command thatincludes two or more inputs. Each of the inputs may be of any suitabletype. For instance, any one or more of the inputs may be a touch input,a hover input, etc. A touch input is an input in which an object, suchas a finger or a pointing device (e.g., an electronic pointing device),physically touches a touch display module of a touch-enabled device. Ahover input is an input in which an object hovers over a touch displaymodule of a touch-enabled device. Accordingly, the hover input occurswithout the object physically touching the touch display module.Moreover, any one or more of the inputs may be a finger input, apointing device input, etc. A finger input is an input in which a fingertouches or hovers over a touch display module of a touch-enabled device.A pointing device input is an input in which a pointing device (e.g., astylus) touches or hovers over a touch display module of a touch-enableddevice.

In a first example approach, a finger input of a finger is detected byfirst sensor(s) of a plurality of sensors that are included in a touchdisplay module of a touch-enabled device. A pointing device that is in ahover position with regard to the touch display module is detected bysecond sensor(s) of the plurality of sensors. Any one or more of thesecond sensor(s) and any one or more of the first sensor(s) may be thesame or different. A control interface is caused to be presented on atouch screen of the touch display module based on detecting the fingerinput and further based on detecting the pointing device in the hoverposition.

In a second example approach, a touch input that results from contact ofan object with a surface of a touch display module of a touch-enableddevice is detected by first sensor(s) of a plurality of sensors that areincluded in the touch display module. A hover input that results from apointing device hovering a spaced distance from the touch display moduleis detected by second sensor(s) of the plurality of sensors. The controlinterface is caused to be presented via the surface of the touch displaymodule based on detecting the touch input and further based on detectingthe hover input.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter. Moreover, itis noted that the invention is not limited to the specific embodimentsdescribed in the Detailed Description and/or other sections of thisdocument. Such embodiments are presented herein for illustrativepurposes only. Additional embodiments will be apparent to personsskilled in the relevant art(s) based on the teachings contained herein.

BRIEF DESCRIPTION OF THE DRAWINGS/FIGURES

The accompanying drawings, which are incorporated herein and form partof the specification, illustrate embodiments of the present inventionand, together with the description, further serve to explain theprinciples involved and to enable a person skilled in the relevantart(s) to make and use the disclosed technologies.

FIGS. 1-8 and 14 are block diagrams of example touch-enabled deviceshaving multi-input presentation functionality in accordance withembodiments.

FIGS. 9-13 depict flowcharts of example methods for presenting a controlinterface based on a multi-input command in accordance with embodiments.

FIG. 15 is a system diagram of an example mobile device havingmulti-input presentation functionality in accordance with an embodiment.

FIG. 16 depicts an example computer in which embodiments may beimplemented.

The features and advantages of the disclosed technologies will becomemore apparent from the detailed description set forth below when takenin conjunction with the drawings, in which like reference charactersidentify corresponding elements throughout. In the drawings, likereference numbers generally indicate identical, functionally similar,and/or structurally similar elements. The drawing in which an elementfirst appears is indicated by the leftmost digit(s) in the correspondingreference number.

DETAILED DESCRIPTION

I. Introduction

The following detailed description refers to the accompanying drawingsthat illustrate exemplary embodiments of the present invention. However,the scope of the present invention is not limited to these embodiments,but is instead defined by the appended claims. Thus, embodiments beyondthose shown in the accompanying drawings, such as modified versions ofthe illustrated embodiments, may nevertheless be encompassed by thepresent invention.

References in the specification to “one embodiment,” “an embodiment,”“an example embodiment,” or the like, indicate that the embodimentdescribed may include a particular feature, structure, orcharacteristic, but every embodiment may not necessarily include theparticular feature, structure, or characteristic. Moreover, such phrasesare not necessarily referring to the same embodiment. Furthermore, whena particular feature, structure, or characteristic is described inconnection with an embodiment, it is submitted that it is within theknowledge of one skilled in the relevant art(s) to implement suchfeature, structure, or characteristic in connection with otherembodiments whether or not explicitly described.

Moreover, words such as “first” and “second” are used herein forpurposes of discussion and are not intended to designate an order(temporal or otherwise), unless affirmatively described as designatingan order.

II. Example Embodiments

Example embodiments described herein are capable of presenting a controlinterface based on (e.g., based at least in part on) a multi-inputcommand. A multi-input command is a command that includes two or moreinputs. Each of the inputs may be of any suitable type. For instance,any one or more of the inputs may be a touch input, a hover input, etc.A touch input is an input in which an object, such as a finger or apointing device (e.g., an electronic pointing device), physicallytouches a touch display module of a touch-enabled device. A hover inputis an input in which an object hovers over a touch display module of atouch-enabled device. Accordingly, the hover input occurs without theobject physically touching the touch display module. Moreover, any oneor more of the inputs may be a finger input, a pointing device input,etc. A finger input is an input in which a finger touches or hovers overa touch display module of a touch-enabled device. A pointing deviceinput is an input in which a pointing device (e.g., a stylus) touches orhovers over a touch display module of a touch-enabled device.

Example techniques described herein have a variety of benefits ascompared to conventional techniques for presenting a control interfaceon a touch-enabled device. For instance, the example techniques may becapable of improving the functioning of the touch-enabled device. In oneexample, such techniques may increase the efficiency and/or speed withwhich the touch-enabled device operates. In another example, suchtechniques may reduce a latency that is common among the conventionaltechniques for presenting a control interface. The example techniquesmay be capable of improving a user experience with regard to presentinga control interface on a touch-enabled device.

The above-mentioned benefits may be obtained, for example, by reducingan amount of time that is consumed to present the control interface onthe touch-enabled device. For instance, the example techniques mayreduce a distance that a user's hand travels to provide touch and/orhover inputs. The reduction of this distance may result in thetouch-enabled device consuming less time and/or fewer resources topresent the control interface. Accordingly, UI commanding techniquesthat are implemented in accordance with the teachings herein may becharacterized by an increased efficiency and/or speed, as compared toconventional UI commanding techniques. Moreover, the inputs describedherein may be performed relatively quickly, as compared to thecontextual command gestures which are used by some conventionaltechniques. Thus, using a multi-input command as described herein mayreduce a time that is consumed to launch the UI controls.

The example techniques may be applicable to touch targets having asmaller size than the touch targets to which the conventional techniquesapply. A touch target is an interface or an interface element for whichselection of the interface or the interface element via a touch inputinitiates an action. For instance, a touch target may be a controlinterface, control element(s) therein, and/or menu(s) that are availablevia such control element(s).

The example techniques may enable any one or more items, such as thecontrol interface, control element(s) therein, and/or menu(s) that areavailable via such control element(s), to be presented on demand.Presentation of any one or more of the items may be discontinuedautomatically in response to the user discontinuing engagement with theitem(s) (e.g., without a need for the user to perform an affirmativeaction to have the item(s) removed from the touch screen). For instance,the user may discontinue engagement with an item by moving an object,such as a finger or a pointing device, with which engagement with theitem was initiated away from the item. Accordingly, the user may simplydiscontinue engagement with the item to see a portion of the touchscreen that is obstructed by the item.

The example techniques may be capable of using a multi-input command tocause the control interface to be presented on the touch screen. Themulti-input command includes multiple inputs. These inputs may bedifferent from inputs that are designated to control objects on thetouch screen. Accordingly, the example techniques may increase alikelihood that the inputs described herein are available for launchingUI controls. A location of the control interface on the touch screen maybe selected from a variety of possible locations on the fly at the timethe control interface is presented on the touch screen based onattribute(s) associated with at least one of the inputs that areincluded in the multi-input command. Accordingly, the control interfacemay not obstruct a portion (or all) of the touch screen while thecontrol interface is not in use.

FIG. 1 is a perspective view of an example system 100 in accordance withan embodiment. The system 100 includes a touch-enabled device 102 and apointing device 104. The touch-enabled device 102 is a processing systemthat is capable of receiving input from objects. Examples of an objectfrom which input may be received include but are not limited to a finger130 and the pointing device 104. An example of a processing system is asystem that includes at least one processor that is capable ofmanipulating data in accordance with a set of instructions. Forinstance, a processing system may be a computer (e.g., a tabletcomputer, a laptop computer, or a desktop computer) or a personaldigital assistant.

The touch-enabled device 102 includes a touch display module 106 andmulti-input presentation logic 108. The touch display module 106 mayinclude any of a variety of components, including but not limited to atouch/stylus sensor, touch/stylus electronics, a backlight, displayelectronics, cover glass, circuit boards, flexible printed circuits, andadhesive layers. For instance, the touch display module 106 isconfigured to include a touch screen 107.

The multi-input presentation logic 108 includes processor(s) 112, amemory 114, a transmit circuit 116, and a receive circuit 118. Touchand/or hover functionality of the touch display module 106 is enabled bythe receive circuit 118, which is capable of sensing objects, such asthe finger 130 and/or the pointing device 104, that are placed proximatethe touch display module 106. For example, the receive circuit 118 maysense a location at which an object physically touches the touch displaymodule 106. In accordance with this example, no space is between theobject and the touch display module 106. For instance, there may be nospace between the object and the cover glass of the touch display module106. In another example, the receive circuit 118 may sense a location atwhich an object hovers over the touch display module 106. In accordancewith this example, the object and the touch display module 106 arespaced apart and do not touch. The receive circuit 118 receives inputfrom such objects via active and/or passive signals at locations on thetouch display module 106 that correspond to locations of the objects.The touch display module 106 includes pixels having characteristics thatare capable of being modified in response to receipt of such input atthe locations on the touch display module 106 that correspond to thepixels.

The processor(s) 112 are capable of performing operations based oninstructions that are stored in the memory 114 (e.g., in response toreceipt of input from the finger 130 and/or the pointing device 104).For example, the processor(s) 112 may be configured to determine alocation of the finger 130 based on input that is received by thereceive circuit 118 from the finger 130. In another example, theprocessor(s) 112 may be configured to determine a location of anelectrodes 126, which is included in the pointing device 104, based oninput that is received by the receive circuit 118 from the pointingdevice 104. The processor(s) 112 are capable of modifying one or morecharacteristics of the pixels in the touch display module 106 inresponse to such input. As shown in FIG. 1, the processor(s) 112 havecaused writing 110 to be displayed on the touch display module 106 bychanging characteristic(s) of the corresponding pixels in the touchdisplay module 106. More particularly, the processor(s) 112 have causedthe word “Hello” to be displayed on the touch screen 107 in response tothe electrode 126 of the pointing device 104 tracing the word “Hello”along a path that is proximate the touch display module 106.

The memory 114 stores computer-readable instructions that are executableby the processor(s) 112 to perform operations. The memory 114 mayinclude any suitable type of memory, including but not limited to readonly memory (ROM), random access memory (RAM), or flash memory.

The transmit circuit 116 is configured to generate a signal (e.g., atime-varying signal) for transmission to the pointing device 104. Forexample, the transmit circuit 116 may transmit the signal to thepointing device 104 in anticipation of a response from the pointingdevice 104. In accordance with this example, if the electrode 126 isconfigured to be a passive slug, the signal that is transmitted by thetransmit circuit 116 may be a time-varying voltage, and the responsefrom the pointing device 104 may be a time-varying current that isgenerated based on a capacitance between the touch display module 106and the electrode 126. A passive slug is conductive material via whichactive signals are not transmitted. Rather, passive signals may betransmitted via a passive slug. For instance, the passive slug mayrespond to signal(s) that are received from the transmit circuit 116 byproviding passive signal(s) that are based on the received signal(s).

The pointing device 104 includes the aforementioned electrode 126, atransmit circuit 120, a receive circuit 122, and processor(s) 124. Theelectrode 126 is electrically conductive to facilitate tracking of theelectrode 126 by the touch-enabled device 102.

The transmit circuit 120 is configured to transmit an input to thetouch-enabled device 102 to cause the processor(s) 112 to determine alocation of the electrode 126.

The receive circuit 122 is configured to receive signals that aretransmitted by the transmit circuit 116 of the touch-enabled device 102.For instance, the receive circuit 122 may forward the signals to theprocessor(s) 124 for processing.

The processor(s) 124 are configured to generate the input that istransmitted to the touch-enabled device 102 via the transmit circuit120.

A control interface 128 is shown to appear on the touch screen 107 ofthe touch-enabled device 102 in FIG. 1 in response to the finger 130being placed proximate the touch display module 106. For example, themulti-input presentation logic 108 may cause the control interface 128to be presented on the touch screen 107 in response to a determinationthat the finger 130 touches or hovers over the touch display module 106.

In an example embodiment, the finger 130 physically touches the touchdisplay module 106 at a first time instance. The pointing device 104hovers over the touch display module 106 at a second time instance thatis subsequent to the first time instance while the finger 130 isphysically touching the touch display module 106. In accordance withthis embodiment, the multi-input presentation logic 108 causes thecontrol interface 128 to appear on the touch screen 107 in response tothe pointing device 104 hovering over the touch display module 106 whilethe finger 130 is physically touching the touch display module 106.

The control interface 128 includes interface elements E1, E2, and E3,which may be configured to be selectable. For instance, each of theinterface elements E1, E2, and E3 may be selected by placing thepointing device 104 (e.g., the electrode 126 of the pointing device 104)proximate the respective interface element. In one example, an interfaceelement may be selected by physically touching the electrode 126 of thepointing device 104 to a location on the touch display module 106 thatcorresponds to the interface element. In another example, an interfaceelement may be selected by hovering the electrode 126 of the pointingdevice 104 over a location on the touch display module 106 thatcorresponds to the interface element. The control interface 128 is shownin FIG. 1 to include three interface elements E1, E2, and E3 forillustrative purposes and is not intended to be limiting. It will berecognized that the control interface 128 may include any suitablenumber of interface elements (e.g., 1, 2, 3, or 4).

The control interface 128 is shown in FIG. 1 to correspond to a firstlocation, L1, on the touch display module 106. The pointing device 104(e.g., the electrode 126 of the pointing device 104) is shown tocorrespond to a second location, L2, on the touch display module 106.The multi-input presentation logic 108 may be configured to cause thecontrol interface 128 to be presented on the touch screen 107 inresponse to a determination that a distance between the first location,L1, and the second location, L2, is less than or equal to a thresholddistance, though the scope of the example embodiments is not limited inthis respect.

Further details regarding some example embodiments in which a controlinterface is presented based on a multi-input command are provided belowwith reference to FIGS. 2-12.

Each of the touch-enabled device 102 and the pointing device 104 may beelectrically connected to a common DC ground, though the scope of theexample embodiments is not limited in this respect. For instance, thetouch-enabled device 102 and the pointing device 104 may havecapacitively coupled grounds, which may be achieved by a user graspingthe touch-enabled device 102 and the pointing device 104.

In some example embodiments, the interface elements E1, E2, and E3 shownin FIG. 1 correspond to respective attributes of writing (e.g., writing110), which the multi-input presentation logic 108 is configured topresent on the touch screen 107 as the pointing device 104 (e.g., theelectrode 126 of the pointing device 104) is moved proximate a surfaceof the touch display module 106. For instance, in an example writingembodiment, interface element E1 corresponds to a line thickness of thewriting; interface element E2 corresponds to a color of the writing; andinterface element E3 corresponds to an opacity of the writing. FIGS. 2-4show example implementations of this writing embodiment in which therespective interface elements E1, E2, and E3 are selected. FIGS. 2-4 arediscussed in further detail below.

In some example embodiments, the control interface 128 shown in FIG. 1is configured to rotate about the first location, L1, based on aposition of the pointing device 104 with reference to the touch displaymodule 106. For instance, in an example rotating embodiment, the controlinterface 128 rotates so that the control interface 128 (e.g., amidpoint of the control interface 128) is positioned along an axis thatextends between the first location, L1, and a location on the touchscreen 107 that corresponds to the pointing device 104 (e.g., theelectrode 126 of the pointing device 104). FIGS. 5-7, which arediscussed in further detail below, show example implementations of thisrotating embodiment.

It will be recognized that the system 100 may not include one or more ofthe touch display module 106, the touch screen 107, the processor(s)112, the memory 114, the transmit circuit 116, the receive circuit 118,the transmit circuit 120, the receive circuit 122, and/or theprocessor(s) 124. Furthermore, the system 100 may include components inaddition to or in lieu of the touch display module 106, the touch screen107, the processor(s) 112, the memory 114, the transmit circuit 116, thereceive circuit 118, the transmit circuit 120, the receive circuit 122,and/or the processor(s) 124.

The touch screen 107 is shown in FIG. 1 to be in a standard viewingorientation. The phrase “standard viewing orientation” is mentioned withregard to some example embodiments discussed herein. The standardviewing orientation of a touch screen is the orientation of the touchscreen for which information (e.g., content) is configured to be viewedby a user of the touch-enabled device that includes the touch screen.For instance, the writing 100 in FIG. 1 is shown to be configured suchthat the writing 100 is readable from left to right on the touch screen107, which is the configuration in which English words traditionally areread. Accordingly, it will be recognized that the touch screen 107 is inthe standard viewing orientation.

FIG. 2 is a block diagram of an example system 200, which is an exampleimplementation of a system 100 shown in FIG. 1, in accordance with anembodiment. The system 200 includes the touch-enabled device 202 and thepointing device 204. The touch-enabled device 202 includes a touchdisplay module 206 and multi-input presentation logic 208. The touchdisplay module 206 includes a touch screen 207. The touch display module206, the touch screen 207, and the multi-input presentation logic 208are operable in a manner similar to the touch display module 106, thetouch screen 107, and the multi-input presentation logic 108 shown inFIG. 1.

FIG. 2 illustrates a first example implementation of the writingembodiment mentioned above with reference to FIG. 1 in which theinterface element E1 is selected. As shown in FIG. 2, the interfaceelement E1 is selected by placing the pointing device 204 proximate theinterface element E1. The pointing device 204 (e.g., the electrode 226of the pointing device 204) is shown to correspond to a third location,L3, on the touch display module 206. For instance, the interface elementE1 may be selected by moving the pointing device 204 (e.g., theelectrode 226 of the pointing device 204) to correspond to the thirdlocation, L3. The third location, L3, is shown in FIG. 2 to overlap theinterface element E1 for illustrative purposes and is not intended to belimiting. It will be recognized that the location on the touch screen207 that corresponds to the pointing device 204 need not necessarilyoverlap the interface element E1 in order for the interface element E1to be selected. For instance, the interface element E1 may be selectedbased on the location on the touch screen 207 that corresponds to thepointing device 204 being within a designated proximity to the interfaceelement E1; based on the location on the touch screen 207 thatcorresponds to the pointing device 204 being closer to the interfaceelement E1 than to the other interface elements E2 and E3; based on oneor more other criteria; or based any combination thereof.

As shown in FIG. 2, selection of the interface element E1 causes a linethickness menu 232 to be presented on the touch screen 207. Forinstance, the touch display module 206 may present the line thicknessmenu 232 on the touch screen 207 in response to (e.g., based on) adetermination that the pointing device 204 is placed proximate theinterface element E1. The line thickness menu 232 includes interfaceelements 234 a-234 d. The interface elements 234 a-234 d correspond torespective line thicknesses that may be selected for the writing thatthe touch display module 206 is configured to present on the touchscreen 207. For instance, interface element 234 a corresponds to a firstline thickness. Interface element 234 b corresponds to a second linethickness that is greater than the first line thickness. Interfaceelement 234 c corresponds to a third line thickness that is greater thanthe second line thickness. Interface element 234 d corresponds to afourth line thickness that is greater than the third line thickness.

In the implementation of FIG. 2, the interface elements 234 a-234 d areconfigured to be selectable. For instance, each of the interfaceelements 234 a-234 d may be selected by placing the pointing device 204(e.g., the electrode 226 of the pointing device 204) proximate therespective interface element. In one example, an interface element maybe selected by physically touching the electrode 226 of the pointingdevice 204 to a location on the touch display module 206 thatcorresponds to the interface element. In another example, an interfaceelement may be selected by hovering the electrode 226 of the pointingdevice 204 over a location on the touch display module 206 thatcorresponds to the interface element. The line thickness menu 232 isshown in FIG. 2 to include four interface elements 234 a-234 d forillustrative purposes and is not intended to be limiting. It will berecognized that the line thickness menu 232 may include any suitablenumber of interface elements (e.g., 1, 2, 3, or 4).

FIG. 3 is a block diagram of an example system 300, which is anotherexample implementation of a system 100 shown in FIG. 1, in accordancewith an embodiment. The system 300 includes components 302, 304, and306-308, which are operable in a manner similar to components 102, 104,and 106-108 shown in FIG. 1.

FIG. 3 illustrates a second example implementation of the writingembodiment mentioned above with reference to FIG. 1 in which theinterface element E2 is selected. As shown in FIG. 3, the interfaceelement E2 is selected by placing the pointing device 304 proximate theinterface element E2. The pointing device 304 (e.g., the electrode 326of the pointing device 304) is shown to correspond to a fourth location,L4, on the touch display module 306. For instance, the interface elementE2 may be selected by moving the pointing device 304 (e.g., theelectrode 326 of the pointing device 304) to correspond to the fourthlocation, L4. The fourth location, L4, is shown in FIG. 3 to overlap theinterface element E2 for illustrative purposes and is not intended to belimiting.

As shown in FIG. 3, selection of the interface element E2 causes a colormenu 336 to be presented on the touch screen 307. For instance, thetouch display module 306 may present the color menu 336 on the touchscreen 307 in response to (e.g., based on) a determination that thepointing device 304 is placed proximate the interface element E2. Thecolor menu 336 includes interface elements 338 a-338 h. The interfaceelements 338 a-338 h correspond to respective colors that may beselected for the writing that the touch display module 306 is configuredto present on the touch screen 307. For instance, interface element 338a corresponds to a first color C1; interface element 338 b correspondsto a second color C2 that is different from the first color C1;interface element 338 c corresponds to a third color C3 that isdifferent from the first color C1 and the second color C2, and so on.Each of the interface elements 338 a-338 h may be selected by placingthe pointing device 304 (e.g., the electrode 326 of the pointing device304) proximate the respective interface element. The color menu 336 isshown in FIG. 3 to include eight interface elements 338 a-338 h forillustrative purposes and is not intended to be limiting. It will berecognized that the color menu 336 may include any suitable number ofinterface elements (e.g., 1, 2, 3, or 4).

FIG. 4 is a block diagram of an example system 400, which is anotherexample implementation of a system 100 shown in FIG. 1, in accordancewith an embodiment. The system 400 includes components 402, 404, and406-408, which are operable in a manner similar to components 102, 104,and 106-108 shown in FIG. 1.

FIG. 4 illustrates a third example implementation of the writingembodiment mentioned above with reference to FIG. 1 in which theinterface element E3 is selected. As shown in FIG. 4, the interfaceelement E3 is selected by placing the pointing device 404 proximate theinterface element E3. The pointing device 404 (e.g., the electrode 426of the pointing device 404) is shown to correspond to a fifth location,L5, on the touch display module 406. For instance, the interface elementE3 may be selected by moving the pointing device 404 (e.g., theelectrode 426 of the pointing device 404) to correspond to the fifthlocation, L5. The fifth location, L5, is shown in FIG. 4 to overlap theinterface element E3 for illustrative purposes and is not intended to belimiting.

As shown in FIG. 4, selection of the interface element E3 causes anopacity menu 440 to be presented on the touch screen 407. For instance,the touch display module 406 may present the opacity menu 440 on thetouch screen 407 in response to (e.g., based on) a determination thatthe pointing device 404 is placed proximate the interface element E3.The opacity menu 440 includes an opacity gradient 442 that includes aplurality of opacity levels. Any of the opacity levels may be selectedfor the writing that the touch display module 406 is configured topresent on the touch screen 407 by placing the pointing device 404(e.g., the electrode 426 of the pointing device 404) proximate therespective opacity level in the opacity gradient 442.

FIG. 5 is a block diagram of an example system 500, which is anotherexample implementation of a system 100 shown in FIG. 1, in accordancewith an embodiment. The system 500 includes components 502, 504, and506-508, which are operable in a manner similar to components 102, 104,and 106-108 shown in FIG. 1.

FIG. 5 illustrates a first example implementation of the rotatingembodiment mentioned above with reference to FIG. 1 in which thepointing device 504 (e.g., the electrode 526 of the pointing device 504)corresponds to a seventh location, L7, on the touch screen 507. As shownin FIG. 5, the multi-input presentation logic 508 causes the controlinterface 528 (e.g., a midpoint of the control interface 528) to bepositioned along an axis 530 that extends between the first location,L1, and the seventh location, L7. For instance, the multi-inputpresentation logic 508 may rotate the control interface 528 about thefirst location, L1, so that the control interface 528 becomes positionedalong the axis 530.

FIG. 6 is a block diagram of an example system 600, which is anotherexample implementation of a system 100 shown in FIG. 1, in accordancewith an embodiment. The system 600 includes components 602, 604, and606-608, which are operable in a manner similar to components 102, 104,and 106-108 shown in FIG. 1.

FIG. 6 illustrates a second example implementation of the rotatingembodiment mentioned above with reference to FIG. 1 in which thepointing device 604 (e.g., the electrode 626 of the pointing device 604)corresponds to an eighth location, L8, on the touch screen 607. As shownin FIG. 6, the multi-input presentation logic 608 causes the controlinterface 628 to be positioned along an axis 630 that extends betweenthe first location, L1, and the eighth location, L8. In an aspect ofthis implementation, the multi-input presentation logic 608 may rotatethe control interface 628 counterclockwise about the first location, L1,from a position along the axis 530 shown in FIG. 5 to a position alongthe axis 630 shown in FIG. 6 in response to the pointing device beingmoved from a position that corresponds to the seventh location, L7, to aposition that corresponds to the eighth location, L8.

FIG. 7 is a block diagram of an example system 700, which is anotherexample implementation of a system 100 shown in FIG. 1, in accordancewith an embodiment. The system 700 includes components 702, 704, and706-708, which are operable in a manner similar to components 102, 104,and 106-108 shown in FIG. 1.

FIG. 7 illustrates a third example implementation of the rotatingembodiment mentioned above with reference to FIG. 1 in which thepointing device 704 (e.g., the electrode 726 of the pointing device 704)corresponds to a ninth location, L9, on the touch screen 707. As shownin FIG. 7, the multi-input presentation logic 708 causes the controlinterface 728 to be positioned along an axis 730 that extends betweenthe first location, L1, and the ninth location, L9. In an aspect of thisimplementation, the multi-input presentation logic 708 may rotate thecontrol interface 728 clockwise or counterclockwise about the firstlocation, L1, from a position along the axis 630 shown in FIG. 6 to aposition along the axis 730 shown in FIG. 7 in response to the pointingdevice being moved from the position that corresponds to the eighthlocation, L8, to a position that corresponds to the ninth location, L9.

In accordance with this implementation, the multi-input presentationlogic 708 rotates the control interface 728 (e.g., at least a specifiedportion of the control interface 728) through an axis 732 that includesthe first location, L1, and that extends between a top edge 734 of thetouch screen 707 and a bottom edge 736 of the touch screen 707. As thecontrol interface 728 is rotated through the axis 732, the multi-inputpresentation logic 708 causes the order of the interface elements E1,E2, and E3 in the control interface 728 to be reversed, as depicted inFIG. 7. Accordingly, the interface element E1 continues to be theclosest of the interface elements E1, E2, and E3 to a top edge of thecontrol interface 728 that corresponds to the top edge 734 of the touchscreen 707, and the interface element E3 continues to be closest of theinterface elements E1, E2, and E3 to a bottom edge of the controlinterface 728 that corresponds to the bottom edge 736 of the touchscreen 707, regardless whether the control interface 728 (e.g., thespecified portion thereof) is positioned on the right side of the axis732 or on the left side of the axis 732.

In an aspect of this implementation, as the control interface 728 isrotated through the axis 732, the multi-input presentation logic 708causes visual content in each of the interface elements E1, E2, and E3in the control interface 728 to be rotated, as depicted in FIG. 7. Forexample, a bottom portion of the visual content, which is closer to thebottom edge 736 of the touch screen 707 than other portions of the ofthe visual content before the control interface 728 is rotated throughthe axis 732, continues to be closer to the bottom edge 736 of the touchscreen 707 than the other portions of the visual content after thecontrol interface 728 is rotated through the axis 732. In anotherexample, a top portion of the visual content, which is closer to the topedge 734 of the touch screen 707 than other portions of the of thevisual content before the control interface 728 is rotated through theaxis 732, continues to be closer to the top edge 734 of the touch screen707 than the other portions of the visual content after the controlinterface 728 is rotated through the axis 732. Accordingly, the visualcontent in the interface elements E1, E2, and E3 may be read in aconventional viewing format (e.g., from left to right for the Englishlanguage) in a standard viewing orientation of the touch screen 707,regardless whether the control interface 728 (e.g., a specified portionthereof) is positioned on the right side of the axis 732 or on the leftside of the axis 732.

FIG. 8 is a block diagram of an example touch-enabled device 800 inaccordance with an embodiment. The touch-enabled device 800 includes asensor matrix 844 and multi-input presentation logic 808. The sensormatrix 844 includes a plurality of column electrodes 848A-848H and aplurality of row electrodes 850A-850K. The plurality of columnelectrodes 848A-848H are arranged to be substantially parallel with aY-axis, as shown in FIG. 8. The plurality of row electrodes 850A-850Kare arranged to be substantially parallel with an X-axis. The pluralityof column electrodes 848A-848H are arranged to be substantiallyperpendicular to the plurality of row electrodes 850A-850K. A firstpitch, P1, between adjacent column electrodes 848A-848H indicates adistance between the midpoints of the adjacent column electrodes848A-848H. A second pitch, P2, between adjacent row electrodes 850A-850Kindicates a distance between the midpoints of the adjacent rowelectrodes 850A-850K. The first pitch, P1, and the second pitch, P2, maybe any suitable values. The first pitch, P1, and the second pitch, P2,may be the same or have different values. For instance, the first pitch,P1, and/or the second pitch, P2, may be approximately 2 mm, 3 mm, 4 mm,or 5 mm.

Placement of an object (e.g., the finger 130 or the pointing device 104)proximate a subset (e.g., one or more) of the column electrodes848A-848H and a subset (e.g., one or more) of the row electrodes850A-850K causes a change of capacitance to occur between the object andthe electrodes in those subsets. For instance, such placement of theobject may cause the capacitance to increase from a non-measurablequantity to a measurable quantity. The change of capacitance between theobject and each electrode in the subsets may be used to generate a“capacitance map,” which may correlate to a shape of the object. Forinstance, a relatively greater capacitance change may indicate that adistance between the object and the corresponding electrode isrelatively small. A relatively lesser capacitance change may indicatethat a distance between the object and the corresponding electrode isrelatively large. Accordingly, a capacitance map, which indicatescapacitance changes associated with respective electrodes in thesubsets, may indicate the shape of the object. For instance, themulti-input presentation logic 808 may use the shape of the object thatis indicated by the capacitance map to distinguish between various typesof objects (e.g., the finger 130 and the pointing device 104).

In an example embodiment, placement of an object proximate the sensormatrix 844 at point A causes a first capacitance between the object andthe row electrode 850C to change, a second capacitance between theobject and the row electrode 850D to change, a third capacitance betweenthe object and the column electrode 848D to change, and a fourthcapacitance between the object and the column electrode 848E to change.It will be recognized that capacitances between the object and otherrespective electrodes may change, as well. For instance, thecapacitances between the object and those other respective electrodesmay change so long as the object is within a designated proximity (3 mm,5 mm, 7 mm, 10 mm, etc.) to those other electrodes. However, suchchanges would be less than the changes to the first, second, third, andfourth capacitances mentioned above due to the greater proximity of theobject to those other electrodes. Accordingly, the discussion will focuson the first, second, third, and fourth capacitances mentioned above forease of understanding, though it will be recognized that capacitancesbetween the object and the other respective electrodes may be taken intoconsideration in practice.

The multi-input presentation logic 808 is configured to determine alocation of an object that is placed proximate the sensor matrix 844based on capacitance changes that are sensed by the plurality of columnelectrodes 848A-848H and the plurality of row electrodes 850A-850K orrespective subsets thereof. Accordingly, in the example embodimentmentioned above, the multi-input presentation logic 808 determines(e.g., estimates) the location, A, of the object based on the changes tothe first, second, third, and fourth capacitances sensed at respectiveelectrodes 850C, 850D, 848D, and 848E. For instance, the multi-inputpresentation logic 808 may estimate (X,Y) coordinates of the location,A. It will be recognized that the estimated coordinates of the location,A, may correspond to a centroid or a center of mass of the object.

Determining the location, A, of the object with an accuracy on the orderof the first pitch, L1, and/or the second pitch, L2, is relativelystraightforward. For instance, a location of a column electrode at whicha greatest capacitance change is sensed with respect to the object mayindicate (e.g., provide an estimate of) an X coordinate of the location,A. A location of a row electrode at which a greatest capacitance changeis sensed with respect to the object may indicate (e.g., provide anestimate of) a Y coordinate of the location, A.

One way to increase the accuracy of the estimate that is determined bythe multi-input presentation logic 808 is to decrease the first pitch,L1, between adjacent column electrodes 848A-848H and/or the secondpitch, L2, between adjacent row electrodes 850A-850K. Another way toincrease the accuracy is to interpolate (e.g., as a continuous function)the capacitance changes that are sensed by the plurality of columnelectrodes 848A-848H and the plurality of row electrodes 850A-850K orrespective subsets thereof. For instance, in accordance with the exampleembodiment mentioned above, the multi-input presentation logic 808interpolates the changes to the first, second, third, and fourthcapacitances to determine the location, A.

Multi-input presentation logic 108, 208, 308, 408, 508, 608, 708, and/or808 may be implemented in various ways to cause a control interface tobe presented based on a multi-input command, including being implementedin hardware, software, firmware, or any combination thereof. Forexample, multi-input presentation logic 108, 208, 308, 408, 508, 608,708, and/or 808 may be implemented as computer program code configuredto be executed in one or more processors. For instance, a portion or allof multi-input presentation logic 108, 208, 308, 408, 508, 608, 708,and/or 808 may be incorporated into an application or a platform (e.g.,operating system). In another example, multi-input presentation logic108, 208, 308, 408, 508, 608, 708, and/or 808 may be implemented ashardware logic/electrical circuitry. For instance, multi-inputpresentation logic 108, 208, 308, 408, 508, 608, 708, and/or 808 may beimplemented in a field-programmable gate array (FPGA), anapplication-specific integrated circuit (ASIC), an application-specificstandard product (ASSP), a system-on-a-chip system (SoC), a complexprogrammable logic device (CPLD), etc. Each SoC may include anintegrated circuit chip that includes one or more of a processor (e.g.,a microcontroller, microprocessor, digital signal processor (DSP),etc.), memory, one or more communication interfaces, and/or furthercircuits and/or embedded firmware to perform its functions.

FIGS. 9-13 depict flowcharts 900, 1000, 1100, 1200, and 1300 of examplemethods for presenting a control interface based on a multi-inputcommand in accordance with embodiments. Flowcharts 900, 1000, 1100,1200, and 1300 may be performed by any of touch-enabled devices 100,200, 300, 400, 500, 600, 700, and/or 800 shown in respective FIGS. 1-8,for example. For illustrative purposes, flowcharts 900, 1000, 1100,1200, and 1300 are described with respect to a touch-enabled device 1400shown in FIG. 14. As shown in FIG. 14, touch-enabled device 1400includes a touch display module 1406 and multi-input presentation logic1408. The touch display module 1406 includes a touch screen 1407 andsensors 1410. The multi-input presentation device 1408 includesdetection logic 1412, causation logic 1414, determination logic 1416,and interface logic 1418. The interface logic 1418 includes size logic1420, text logic 1422, fold logic 1424, flip logic 1426, opacity logic1428, rotation logic 1430, and arrangement logic 1432. Furtherstructural and operational embodiments will be apparent to personsskilled in the relevant art(s) based on the discussion regardingflowcharts 900, 1000, 1100, 1200, and 1300.

As shown in FIG. 9, the method of flowchart 900 begins at step 902. Instep 902, a finger input of a finger is detected by first sensor(s) of aplurality of sensors that are included in a touch display module of acomputing device. For instance, the plurality of sensors may be a matrixof sensors. It will be recognized that the finger input may be a firstinput of the multi-input command on which presentation of the controlinterface is based. In one example, the finger input may be a touchinput. In accordance with this example, the touch input may be a touchand hold input, a single tap input, a double tap input, etc. In anotherexample, the finger input may be a hover input. In accordance with thisexample, the hover input may be defined to be within five millimeters(mm) from the touch display module, within ten mm from the touch displaymodule, etc.

In an example implementation, the sensors 1410 detect inputs 1434. Thesensors 1410 provide the inputs 1434 or representations thereof to thedetection logic 1412. Accordingly, it may be said that the detectionlogic 1412 detects the inputs 1434 using the sensors 1434. The inputs1434 include finger input(s) 1402 and pointing device (PD) input(s)1404. In accordance with this implementation, the first sensor(s) areincluded in the sensors 1410, and the finger input that is detected bythe first sensor(s) is included in the finger input(s) 1402. In furtheraccordance with this implementation, the first sensor(s) may detect thefinger input as a result of the finger 130 being placed proximate thefirst sensor(s). Upon receipt of the finger input (or a representationthereof) from the first sensor(s), the detection logic 1412 may providea first detection indicator, which is included among the detectionindicator(s) 1436, to indicate that the finger input has been detected.

At step 904, a pointing device that is in a hover position with regardto the touch display module is detected by second sensor(s) of theplurality of sensors. For instance, the pointing device may be detectedin the hover position in response to detecting the finger input of thefinger at step 902. It will be recognized that the pointing device beingplaced in the hover position may constitute a hover input, which servesas a second input of the multi-input command on which presentation ofthe control interface is based. The hover position is characterized bythe pointing device being a spaced distance from the touch displaymodule. Detecting the pointing device in the hover position may includedetecting that a hover position is initiated with the pointing device,though the scope of the example embodiments is not limited in thisrespect. In one example, the pointing device may be an electrostaticpointing device. In another example, the pointing device may be apassive slug (e.g., an electrostatically conductive passive slug or amagnetically conductive passive slug). Any one or more of the secondsensor(s) may be same as or different from any one or more of the firstsensor(s).

In an example implementation, the second sensor(s) are included in thesensors 1410. In accordance with this implementation, the pointingdevice 104 being in the hover position constitutes a pointing device(PD) input, and the second sensor(s) detect the PD input. In furtheraccordance with this implementation, the PD input that is detected bythe second sensor(s) is included in the PD input(s) 1404. In furtheraccordance with this implementation, the second sensor(s) may detect thePD input as a result of the pointing device 104 being placed proximatethe second sensor(s). Upon receipt of the PD input (or a representationthereof) from the second sensor(s), the detection logic 1412 may providea second detection indicator, which is included among the detectionindicator(s) 1436, to indicate that the PD input has been detected.

At step 906, a control interface is caused to be presented on the touchscreen based on detecting the finger input and further based ondetecting the pointing device in the hover position. For instance,causing the control interface to be presented on the touch screen mayinclude initiating presentation of the control interface on the touchscreen, though the scope of the example embodiments is not limited inthis respect.

In an example implementation, the causation logic 1414 and/or theinterface logic 1408 causes the control interface 1454 to be presentedon the touch screen 1407 based on the finger input being detected andfurther based on the PD input being detected. For example, the causationlogic 1414 may provide an interface instruction 1452 to the interfacelogic 1418 in response to receipt of the detection indicator(s) 1436. Inaccordance with this example, the causation logic 1414 may review thedetection indicator(s) 1436 to determine whether the detectionindicator(s) include the first indicator and the second indicator. Infurther accordance with this example, the causation logic 1414 mayprovide the interface instruction 1452 to the interface logic 1418 inresponse to determining that the detection indicator(s) 1436 include thefirst indicator and the second indicator. The interface instruction 1452instructs the interface logic 1418 to form the control interface 1454.The interface instruction 1452 may specify attribute(s) that the controlinterface 1454 is to have, though the scope of the example embodimentsis not limited in this respect. In further accordance with thisimplementation, the interface logic 1418 forms the control interface1454 in accordance with the interface instruction 1452. The interfacelogic 1418 provides the control interface 1454 to the touch displaymodule 1406 for presentation on the touch screen 1407.

In an example embodiment, the finger input that is detected at step 902is a touch input. In accordance with this embodiment, the pointingdevice may be detected in the hover position at step 904 while thefinger is in contact with the touch display module.

In another example embodiment, the first sensor(s) are associated with aspecified location on the touch screen. In accordance with thisembodiment, detecting the pointing device in the hover position at step904 includes detecting movement of the pointing device toward thespecified location while the pointing device is a spaced distance fromthe touch display module. For instance, multiple PD measurementscorresponding to respective instances of time may be compared todetermine whether the pointing device is moving toward the specifiedlocation. In further accordance with this embodiment, the controlinterface is caused to be presented on the touch screen at step 906based on detecting the finger input and further based on detecting themovement of the pointing device toward the specified location while thepointing device is a spaced distance from the touch display module.

In an aspect of this embodiment, detecting the pointing device in thehover position at step 904 includes detecting the movement of thepointing device toward the specified location at a rate (e.g., speed orvelocity) that exceeds a rate threshold. In accordance with this aspect,the control interface is caused to be presented on the touch screen atstep 906 further based on the rate exceeding the rate threshold.

In yet another example embodiment, the first sensor(s) are associatedwith a first location on the touch screen. In accordance with thisembodiment, the second sensor(s) are associated with a second locationon the touch screen. In further accordance with this embodiment, thecontrol interface is caused to be presented on the touch screen at step906 further based on a distance between the first location and thesecond location being less than or equal to a threshold distance. Forinstance, the threshold distance may be approximately 6 mm, 8 mm, 10 mm,or 12 mm. In an example implementation, the inputs 1434 includeinformation regarding the finger input that is detected by the firstsensor(s) and the PD input that is detected by the second sensor(s). Inaccordance with this implementation, the detection logic 1412 analyzesthe information regarding the finger input and the PD input to determinethe first location and the second location, respectively. In furtheraccordance with this implementation, the detection logic 1412 comparesthe first location and the second location to determine the distancebetween the first location and the second location. In furtheraccordance with this implementation, the detection logic 1412 comparesthe distance to the threshold distance to determine whether the distanceis less than or equal to the threshold distance. In an example, thedetection logic 1412 may provide a third detection indicator, which isincluded among the detection indicator(s) 1436, to indicate that thedistance is less than or equal to the threshold distance. In accordancewith this example, the causation logic 1414 may review the detectionindicator(s) 1436 to determine whether the detection indicator(s)include the first, second, and third indicators. In further accordancewith this example, the causation logic 1414 may provide the interfaceinstruction 1452 to the interface logic 1418 in response to determiningthat the detection indicator(s) 1436 include the first, second, andthird indicators.

In still another example embodiment, the first sensor(s) are associatedwith a specified location on the touch screen. In accordance with thisembodiment, causing the control interface to be presented on the touchscreen at step 906 includes causing the control interface to bepresented at an interface location on the touch screen that is based onthe specified location. In one example, the interface location and thespecified location are same. In another example, the interface locationand the specified location are different. In accordance with thisexample, the interface location may be a predetermined offset from thespecified location. For instance, the predetermined offset may bedetermined at a first time instance that precedes a second time instanceat which the finger input is detected by the first sensor(s).

In some example embodiments, one or more steps 902, 904, and/or 906 offlowchart 900 may not be performed. Moreover, steps in addition to or inlieu of steps 902, 904, and/or 906 may be performed. For instance, in anexample embodiment, the first sensor(s) are associated with a specifiedlocation on the touch screen. In accordance with this embodiment, themethod of flowchart 900 includes determining that the pointing device ismoving toward the specified location (e.g., while the pointing device isa spaced distance from the touch display module). For example, thedetermination logic 1416 may determine whether the pointing device 104is moving toward the specified location. In accordance with thisexample, the determination logic 1416 may compare multiple PD inputsassociated with the pointing device 104 that correspond to respectiveinstances in time to determine whether the pointing device 104 is movingtoward the specified location. In further accordance with this example,the determination logic 1416 may generate a size instruction 1438 inresponse to determining that the pointing device 104 is moving towardthe specified location. The size instruction 1438 may indicate that thesize of the control interface 1454 is to be increased. In furtheraccordance with this embodiment, the method of flowchart 900 furtherincludes increasing a size of the control interface as the pointingdevice is moving toward the specified location. For example, the sizelogic 1420 may increase the size of the control interface 1454 as thepointing device 104 is moving toward the specified location. Inaccordance with this example, the size logic 1420 may increase the sizeof the control interface 1454 in response to receiving the sizeinstruction 1438.

In an aspect of this embodiment, the method of flowchart 900 includesdetermining that the pointing device is moving away from the specifiedlocation (e.g., while the pointing device is a spaced distance from thetouch display module). For example, the determination logic 1416 maydetermine that the pointing device 104 is moving away from the specifiedlocation. In accordance with this example, the determination logic 1416may generate a size instruction 1438 in response to determining that thepointing device 104 is moving away from the specified location. The sizeinstruction 1438 may indicate that the size of the control interface1454 is to be decreased. In accordance with this aspect, the method offlowchart 900 further includes decreasing the size of the controlinterface as the pointing device is moving away from the specifiedlocation. For example, the size logic 1420 may decrease the size of thecontrol interface 1454 as the pointing device 104 is moving away fromthe specified location. In accordance with this example, the size logic1420 may decrease the size of the control interface 1454 in response toreceiving the size instruction 1438.

In another aspect of this embodiment, the pointing device moves from afirst location that corresponds to a first point on the touch screen toa second location that corresponds to a second point on the touchscreen. The first point is a first distance from the specified location.The second point is a second distance from the specified location. Thefirst distance is greater than the second distance. In accordance withthis aspect, the control interface includes multiple interface elementsat the first location that provide a first amount of informationregarding at least one functionality of the touch-enabled device. Infurther accordance with this aspect, increasing the size of the controlinterface includes expanding the interface elements as the pointingdevice moves from the first location to the second location to provide asecond amount of information regarding the at least one functionality ofthe touch-enabled device. The second amount of information is greaterthan the first amount of information.

In an example implementation of this aspect, the interface elementsinclude a first number of respective discrete colors. In accordance withthis implementation, the interface elements are expanded to provide acolor wheel that includes a second number of colors that is greater thanthe first number of colors.

In another example embodiment, the first sensor(s) are associated with aspecified location on the touch screen. In accordance with thisembodiment, the control interface includes multiple interface elements.Each interface element is selectable to cause the respective action withwhich the interface element is associated to be performed. In furtheraccordance with this embodiment, the method of flowchart 900 furtherincludes determining that the pointing device moves toward the specifiedlocation (e.g., while the pointing device is a spaced distance from thetouch display module). For example, the determination logic 1416 maydetermine that the pointing device 104 moves toward the specifiedlocation. In accordance with this example, the determination logic 1416may generate a text instruction 1440 in response to determining that thepointing device 104 moves toward the specified location. The textinstruction 1440 may indicate that the text is to be introducedproximate the interface elements. In further accordance with thisembodiment, the method of flowchart 900 further includes introducingtext proximate the interface elements in response to determining thatthe pointing device moves toward the specified location. For example,the text logic 1422 may introduce the text proximate the interfaceelements. In accordance with this example, the text logic 1422 mayintroduce the text proximate the interface elements in response toreceiving the text instruction 1440. In one example, the text may beintroduced in one or more of the interface elements. In another example,the text may be introduced next to the interface elements. In accordancewith this example, the text may be introduced within a specifiedproximity (e.g., a predetermined proximity) to the interface elements.The text describes multiple actions that are associated with therespective interface elements.

In an aspect of this embodiment, the method of flowchart 900 includesdetermining that the pointing device moves away from the specifiedlocation (e.g., while the pointing device is a spaced distance from thetouch display module). For example, the determination logic 1416 maydetermine that the pointing device 104 moves away from the specifiedlocation. In accordance with this example, the determination logic 1416may generate a text instruction 1440 in response to determining that thepointing device 104 moves away from the specified location. The textinstruction 1440 may indicate that the text is to be removed from thetouch screen 1407. In accordance with this aspect, the method offlowchart 900 further includes removing the text from the touch screenin response to determining that the pointing device moves away from thespecified location. For example, the text logic 1422 may remove the textfrom the touch screen 1407. In accordance with this example, the textlogic 1422 may remove the text from the touch screen 1407 in response toreceiving the text instruction 1440.

In yet another example embodiment, the method of flowchart 900 includesdetermining that multiple pointing devices are associated withrespective users. The determining includes determining that the pointingdevice in the hover position is associated with a specified user. Forinstance, the determination logic 1416 may determine that the pointingdevices are associated with the respective users. In accordance withthis embodiment, the method of flowchart 900 further includesdetermining that the finger input is received from the specified user.For instance, the determination logic 1416 may determine that the fingerinput is received from the specified user. In further accordance withthis embodiment, the control interface is caused to be presented on thetouch screen at step 906 further based on determining that the pointingdevice in the hover position is associated with the specified user andfurther based on determining that the finger input is received from thespecified user.

In still another example embodiment, the method of flowchart 900includes determining that the pointing device moves toward the controlinterface. For example, the determination logic 1416 may determine thatthe pointing device 104 moves toward the control interface 1454. Inaccordance with this example, the determination logic 1416 may generatean opacity instruction 1446 in response to determining that the pointingdevice 104 moves toward the control interface 1454. The opacityinstruction 1446 may indicate that the opacity of the control interface1454 is to be increased. In accordance with this embodiment, the methodof flowchart 900 further includes increasing an opacity of the controlinterface as the pointing device moves toward the control interface. Forexample, the opacity logic 1446 may increase the opacity of the controlinterface 1454 as the pointing device 104 moves toward the controlinterface 1454. In accordance with this example, the opacity logic 1446may increase the opacity of the control interface 1454 in response toreceiving the opacity instruction 1446.

In an aspect of this embodiment, detecting that the pointing devicemoves toward the control interface includes determining that a distancebetween the pointing device and the control interface is decreasing. Inaccordance with this aspect, the opacity of the control interface isincreased as the distance is decreasing.

In another aspect of this embodiment, the method of flowchart 900further includes detecting that the pointing device moves away from thecontrol interface. For example, the determination logic 1416 maydetermine that the pointing device 104 moves away from the controlinterface 1454. In accordance with this example, the determination logic1416 may generate an opacity instruction 1446 in response to determiningthat the pointing device 104 moves away from the control interface 1454.The opacity instruction 1446 may indicate that the opacity of thecontrol interface 1454 is to be decreased. In accordance with thisaspect, the method of flowchart 900 further includes decreasing theopacity of the control interface as the pointing device moves away fromthe control interface. For example, the opacity logic 1446 may decreasethe opacity of the control interface 1454 as the pointing device 104moves away from the control interface 1454. In accordance with thisexample, the opacity logic 1446 may decrease the opacity of the controlinterface 1454 in response to receiving the opacity instruction 1446.

In an example implementation of this aspect, detecting that the pointingdevice moves away from the control interface includes determining thatthe distance between the pointing device and the control interface isincreasing. In accordance with this implementation, the opacity of thecontrol interface is decreased as the distance is increasing

In yet another aspect of this embodiment, the method of flowchart 900further includes setting the opacity of the control interface to be afixed opacity in response to a distance between the pointing device andthe control interface being less than or equal to a threshold distance.For instance, the opacity logic 1428 may set the opacity of the controlinterface 1454 to be the fixed opacity.

In still another aspect of this embodiment, the first sensor(s) areassociated with a specified location on the touch screen. In accordancewith this aspect, the method of flowchart 900 further includes settingthe opacity of the control interface to be a fixed opacity in responseto a distance between the pointing device and the specified locationbeing less than or equal to a threshold distance.

In another example embodiment, the method of flowchart 900 includesforming the control interface to include multiple interface elements.For instance, the interface logic 1418 forms the control interface 1454to include the multiple interface elements. An interface element may bea virtual button or a widget, though the scope of the exampleembodiments is not limited in this respect. In accordance with thisembodiment, each interface element is configured to provide a respectivemenu in response to selection of the respective interface element. Forinstance, each menu may include selectable values that correspond to arespective attribute of writing that the pointing device is configuredto provide. Examples of such an attribute include but are not limited toopacity, line width, color, or real-world writing device that isemulated by the pointing device (e.g., chalk, pen, pencil, paint, ormarker).

In yet another example embodiment, the method of flowchart 900 includesforming the control interface to include multiple interface elements. Inaccordance with this embodiment, each interface element is configured toinvoke a respective command with regard to a selected item on the touchscreen in response to selection of the respective interface element. Forinstance, the selected item may be text, an image, a hyperlink, etc.Examples of a command include but are not limited to resize, copy, cut,rotate, and crop.

In still another example embodiment, the method of flowchart 900includes determine a frequency with which each of a plurality ofcommands is historically received via the control interface. Forinstance, the determination logic 1416 may determine the frequency withwhich each of the commands is historically received via the controlinterface 1454. In accordance with this embodiment, the method offlowchart 900 further includes forming the control interface to includemultiple interface elements that correspond to the respective commands.For instance, the interface logic 1418 may form the control interface1454 to include the multiple interface elements. In further accordancewith this embodiment, forming the control interface includes arrangingthe interface elements in the control interface to have respectiveproximities to a midpoint of the control interface. The proximities arebased on the respective frequencies with which the respective commandsthat correspond to the respective interface elements are historicallyreceived via the control interface. For example, a relatively greaterfrequency corresponds to a relatively closer proximity to the midpointof the control interface. In accordance with this example, a relativelylesser frequency corresponds to a relatively farther proximity to themidpoint of the control interface.

In yet another example embodiment, the method of flowchart 900 includesdetermine a frequency with which each of a plurality of commands ishistorically received via the control interface. In accordance with thisembodiment, the method of flowchart 900 further includes forming thecontrol interface to include multiple interface elements that correspondto the respective commands. In further accordance with this embodiment,forming the control interface includes arranging the interface elementsin the control interface to have respective proximities to a top edge ofthe touch screen based on a standard viewing orientation of the touchscreen. The proximities are based on the respective frequencies withwhich the respective commands that correspond to the respectiveinterface elements are historically received via the control interface.For example, a relatively greater frequency corresponds to a relativelycloser proximity to the top (or the bottom) of the control interface. Inaccordance with this example, a relatively lesser frequency correspondsto a relatively farther proximity to the top (or the bottom) of thecontrol interface.

In an example embodiment, the method of flowchart 900 includes one ormore of the steps shown in flowchart 1000 of FIG. 10. In accordance withthis embodiment, the first sensor(s) are associated with a specifiedlocation on the touch screen.

As shown in FIG. 10, the method of flowchart 1000 begins at step 1002.In step 1002, a determination is made that the pointing device is movingtoward the specified location (e.g., while the pointing device is aspaced distance from the touch display module). In an exampleimplementation, the determination logic 1416 determines that thepointing device 104 is moving toward the specified location. Inaccordance with this implementation, the determination logic 1416 maygenerate a fold instruction 1442 in response to determining that thepointing device 104 is moving toward the specified location. The foldinstruction 1442 may indicate that the control interface 1454 is to beunfolded.

At step 1004, the control interface is unfolded as the pointing deviceis moving toward the specified location. In an example implementation,the fold logic 1424 unfolds the control interface 1454 as the pointingdevice 104 is moving toward the specified location. For instance, thefold logic 1424 may unfold the control interface 1454 in response toreceiving the fold instruction 1442.

At step 1006, a determination is made that a distance between thespecified location and a second location on the touch screen thatcorresponds to the pointing device is less than or equal to a thresholddistance. In an example implementation, the determination logic 1416determines that the distance between the specified location and thesecond location is less than or equal to the threshold distance. Inaccordance with this example, the determination logic 1416 may generatea flip instruction 1444 in response to determining that the distancebetween the specified location and the second location is less than orequal to the threshold distance. The flip instruction 1444 may indicatethat the control interface 1454 is to be flipped over.

At step 1008, the control interface is flipped over to display multipleinterface elements that are selectable to invoke respectivefunctionalities of the touch-enabled device. In an exampleimplementation, the flip logic 1426 flips the control interface 1454over to display the interface elements. For instance, the flip logic1426 may flip the control interface 1454 over in response to receivingthe flip instruction 1444.

In an aspect of this embodiment, flipping the control interface over atstep 1008 includes flipping the control interface over to display theinterface elements. In one implementation of this aspect, each interfaceelement is configured to provide a respective menu in response toselection of the respective interface element. In another implementationof this aspect, each interface element is configured to invoke arespective command with regard to a selected item on the touch screen inresponse to selection of the respective interface element.

In some aspects of this embodiment, one or more steps 1002, 1004, 1006,and/or 1008 of flowchart 1000 may not be performed. Moreover, steps inaddition to or in lieu of steps 1002, 1004, 1006, and/or 1008 may beperformed. For instance, in an aspect of this embodiment, the method offlowchart 1000 includes determining that the pointing device is movingaway from the specified location (e.g., while the pointing device is aspaced distance from the touch display module). In an exampleimplementation, the determination logic 1416 determines that thepointing device 104 is moving away from the specified location. Inaccordance with this implementation, the determination logic 1416 maygenerate a fold instruction 1442 in response to determining that thepointing device 104 is moving away from the specified location. The foldinstruction 1442 may indicate that the control interface 1454 is to befolded. In accordance with this aspect, the method of flowchart 1000further includes folding the control interface as the pointing device ismoving away from the specified location. In an example implementation,the fold logic 1424 folds the control interface 1454 as the pointingdevice 104 is moving away from the specified location. For instance, thefold logic 1424 may fold the control interface 1454 in response toreceiving the fold instruction 1442.

In another example embodiment, the first sensor(s) are associated with aspecified location on the touch screen. In accordance with thisembodiment, the method of flowchart 900 includes rotating the controlinterface about the specified location (e.g., on-the-fly and/or inreal-time) to track movement of the pointing device with reference tothe specified location. For instance, the control interface may berotated to be positioned on a path that is defined between the specifiedlocation and a second location on the touch screen that corresponds tothe pointing device. In an example implementation, the rotating logic1430 rotates the control interface 1454 about the specified location totrack movement of the pointing device 104. For example, thedetermination logic 1416 may determine the movement of the pointingdevice 104. In accordance with this example, the determination logic1416 may generate a rotation instruction 1448 in response to determiningthe movement of the pointing device 104. The rotating instruction 1448may indicate an amount and/or angular direction in which the controlinterface 1454 is to be rotated. In further accordance with thisexample, the rotating logic 1430 may rotate the control interface 1454in response to receiving the rotation instruction 1448. For instance,the rotation logic 1430 may rotate the control interface 1454 inaccordance with the amount and/or the angular direction that isindicated by the rotation instruction 1448.

In an aspect of this embodiment, the method of flowchart 900 includesone or more of the steps shown in flowchart 1100 of FIG. 11. Inaccordance with this aspect, an axis that includes the specifiedlocation is defined between a top edge of the touch screen and a bottomedge of the touch screen based on a standard viewing orientation of thetouch screen. In further accordance with this aspect, a path along whichthe control interface rotates intersects the axis at a firstintersection point and a second intersection point.

As shown in FIG. 11, the method of flowchart 1100 begins at step 1102.In step 1102, the control interface is formed to include multipleinterface elements that are arranged in a designated order. In anexample implementation, the interface logic 1418 forms the controlinterface 1454 to include the interface elements.

At step 1104, a determination is made that the control interface isrotated in a first angular direction (e.g., clockwise orcounterclockwise) through the first intersection point. For instance,the determination may be made at step 1104 in response to forming thecontrol interface at step 1102. In an example implementation, thedetermination logic 1416 determines that the control interface 1454 isrotated in the first angular direction through the first intersectionpoint. In accordance with this implementation, the determination logic1416 may generate an arrangement instruction 1450 in response todetermining that the control interface 1454 is rotated in the firstangular direction through the first intersection point. The arrangementinstruction 1450 may indicate that the interface elements are to bearranged in the control interface 1454.

At step 1106, the interface elements are rearranged in the controlinterface to cause the interface elements to be presented in the controlinterface in a reversed order that is reverse of the designated order.For instance, the interface elements may be rearranged at step 1106 inresponse to determining that the control interface is rotated throughthe first intersection point at step 1104. In an example implementation,the arrangement logic 1432 rearranges the interface elements in thecontrol interface 1454. For instance, the arrangement logic 1432 mayrearrange the interface elements in the control interface 1454 inresponse to receiving the arrangement instruction 1450.

At step 1108, a determination is made that the control interface isrotated in a second angular direction, which is opposite the firstangular direction, through the first intersection point or in the firstangular direction through the second intersection point. For instance,the determination may be made at step 1108 in response to determiningthat the control interface is rotated through the first intersectionpoint at step 1104. In an example implementation, the determinationlogic 1416 determines that the control interface 1454 is rotated in thesecond angular direction through the first intersection point or in thefirst angular direction through the second intersection point. Inaccordance with this implementation, the determination logic 1416 maygenerate an arrangement instruction 1450 in response to determining thatthe control interface 1454 is rotated. The arrangement instruction 1450may indicate that the interface elements are to be arranged in thecontrol interface 1454.

At step 1110, the interface elements are rearranged in the controlinterface to cause the interface elements to be presented in the controlinterface in the designated order. For instance, the interface elementsmay be rearranged at step 1110 in response to determining that thecontrol interface is rotated at step 1108. In an example implementation,the arrangement logic 1432 rearranges the interface elements in thecontrol interface 1454. For instance, the arrangement logic 1432 mayrearrange the interface elements in the control interface 1454 inresponse to receiving the arrangement instruction 1450.

In some implementations of this aspect, one or more steps 1102, 1104,1106, 1108, and/or 1110 of flowchart 1100 may not be performed.Moreover, steps in addition to or in lieu of steps 1102, 1104, 1106,1108, and/or 1110 may be performed.

In another aspect of this embodiment, the method of flowchart 900includes one or more of the steps shown in flowchart 1200 of FIG. 12. Inaccordance with this aspect, an axis that includes the specifiedlocation is defined between a top edge of the touch screen and a bottomedge of the touch screen based on a standard viewing orientation of thetouch screen. In further accordance with this aspect, a path along whichthe control interface rotates intersects the axis at a firstintersection point and a second intersection point.

As shown in FIG. 12, the method of flowchart 1200 begins at step 1202.In step 1202, the control interface is formed to include multipleinterface elements that are arranged in a designated order. In anexample implementation, the interface logic 1418 forms the controlinterface 1454 to include the interface elements.

At step 1204, a determination is made that at least a designated portionof the control interface is rotated in a first angular direction atleast a designated number of degrees beyond the first intersectionpoint. For instance, the determination may be made at step 1204 inresponse to forming the control interface at step 1202. In an exampleimplementation, the determination logic 1416 determines that at leastthe designated portion of the control interface 1454 is rotated in thefirst angular direction at least the designated number of degrees beyondthe first intersection point. In accordance with this implementation,the determination logic 1416 may generate an arrangement instruction1450 in response to making the determination. The arrangementinstruction 1450 may indicate that the interface elements are to bearranged in the control interface 1454.

At step 1206, the interface elements are rearranged in the controlinterface to cause the interface elements to be presented in the controlinterface in a reversed order that is reverse of the designated order.For instance, the interface elements may be rearranged at step 1206 inresponse to determining that at least the designated portion of thecontrol interface is rotated at step 1204. In an example implementation,arrangement logic 1432 rearranges the interface elements in the controlinterface 1454. For instance, the arrangement logic 1432 may rearrangethe interface elements in the control interface 1454 in response toreceiving the arrangement instruction 1450.

At step 1208, a determination is made that at least a specified portionof the control interface is rotated in a second angular direction, whichis opposite the first angular direction, at least a specified number ofdegrees beyond the first intersection point or in the first angulardirection at least the specified number of degrees beyond the secondintersection point. For instance, the determination may be made at step1208 in response to rearranging the interface elements at step 1206. Inan example implementation, the determination logic 1416 determines thatat least the specified portion of the control interface 1454 is rotatedin the second angular direction at least the specified number of degreesbeyond the first intersection point or in the first angular direction atleast the specified number of degrees beyond the second intersectionpoint. In accordance with this implementation, the determination logic1416 may generate an arrangement instruction 1450 in response to makingthe determination. The arrangement instruction 1450 may indicate thatthe interface elements are to be arranged in the control interface 1454.

At step 1210, the interface elements are rearranged in the controlinterface to cause the interface elements to be presented in the controlinterface in the designated order. For instance, the interface elementsmay be rearranged at step 1210 in response to determining that at leastthe specified portion of the control interface is rotated at step 1208.In an example implementation, the arrangement logic 1432 rearranges theinterface elements in the control interface 1454. For instance, thearrangement logic 1432 may rearrange the interface elements in thecontrol interface 1454 in response to receiving the arrangementinstruction 1450.

The designated number of degrees and the specified number of degrees maybe same or different. For instance, the designated number of degreesand/or the specified number of degrees may be approximately 5 degrees,10 degrees, or 15 degrees. Moreover, the designated portion of thecontrol interface and the specified portion of the control interface maybe same or different.

In some implementations of this aspect, one or more steps 1202, 1204,1206, 1208, and/or 1210 of flowchart 1200 may not be performed.Moreover, steps in addition to or in lieu of steps 1202, 1204, 1206,1208, and/or 1210 may be performed.

In yet another aspect of this embodiment, the method of flowchart 900includes determining that a distance between the specified location anda second location on the touch screen that corresponds to the pointingdevice is less than or equal to a threshold distance. For example, thedetermination logic 1416 may determine that the distance between thespecified location and the second location is less than or equal to thethreshold distance. In accordance with this example, the determinationlogic 1416 may generate a rotation instruction 1448 in response todetermining that the distance between the specified location and thesecond location is less than or equal to the threshold distance. Therotation instruction 1448 may indicate that the rotating of the controlinterface 1454 about the specified location is to be discontinued. Inaccordance with this aspect, the method of flowchart 900 furtherincludes discontinuing the rotating of the control interface about thespecified location to track the movement of the pointing device inresponse to determining that the distance between the specified locationand the second location is less than or equal to the threshold distance.For example, the rotation logic 1430 may discontinue the rotating of thecontrol interface 1454 about the specified location. In accordance withthis example, the rotation logic 1430 may discontinue the rotating ofthe control interface 1454 about the specified location in response toreceiving the rotation instruction 1448. In one example, discontinuingthe rotating may include locking the control interface to a fixedlocation (e.g., a location that does not change as the pointing devicemoves with reference to the specified location). In another example,discontinuing the rotating may include causing the control interface tobe stationary while the pointing device moves with reference to thespecified location. The threshold distance may be any suitable distance,such as approximately 4 centimeters (cm), 5 cm, or 6 cm.

In an example implementation of this aspect, the threshold distance isproportional to a size of the touch screen. For instance, a relativelygreater size of the touch screen may correspond to a relatively greaterthreshold distance. In accordance with this implementation, a relativelylesser size of the touch screen may correspond to a relatively lesserthreshold distance.

In another example implementation of this aspect, the method offlowchart 900 includes flipping the control interface over in responseto discontinuing the rotating. For instance, the flipping logic 1426 mayflip the control interface 1454 over.

In still another aspect of this embodiment, the method of flowchart 900includes determining that a distance between the control interface and adesignated location on the touch screen that corresponds to the pointingdevice is less than or equal to a threshold distance. For instance, thedetermination logic 1416 may determine that the distance between thecontrol interface 1454 and the designated location is less than or equalto the threshold distance. In accordance with this aspect, the method offlowchart 900 further includes discontinuing the rotating of the controlinterface about the specified location to track the movement of thepointing device in response to determining that the distance between thecontrol interface and the designated location is less than or equal tothe threshold distance. For instance, the rotation logic 1430 maydiscontinue the rotating of the control interface 1454 about thespecified location.

As shown in FIG. 13, the method of flowchart 1300 begins at step 1302.In step 1302, a touch input that results from contact of an object witha surface of a touch display module of a touch-enabled device isdetected by first sensor(s) of a plurality of sensors that are includedin the touch display module. In an example implementation, the firstsensor(s) are included in the sensors 1410 of the touch display module1406. In accordance with this implementation, the first sensor(s) detectthe touch input that results from contact of the object with the surfaceof the touch display module 1406.

At step 1304, a hover input that results from a pointing device hoveringa spaced distance from the touch display module is detected by secondsensor(s) of the plurality of sensors. In an example implementation, thesecond sensor(s) are included in the sensors 1410. In accordance withthis implementation, the second sensor(s) detect the hover input thatresults from the pointing device 104 hovering the spaced distance fromthe touch display module 1406.

At step 1306, the control interface is caused to be presented via thesurface of the touch display module based on detecting the touch inputand further based on detecting the hover input. In an exampleimplementation, the causation logic 1414 and/or the interface logic 1418cause the control interface 1454 to be presented via the surface of thetouch display module 1406.

In some example embodiments, one or more steps 1302, 1304, and/or 1306of flowchart 1300 may not be performed. Moreover, steps in addition toor in lieu of steps 1302, 1304, and/or 1306 may be performed.

It will be recognized that the touch-enabled device 1400 may not includeone or more of the touch display module 1406, the touch screen 1407, thesensors 1410, the detection logic 1412, the causation logic 1414, thedetermination logic 1416, the interface logic 1418, the size logic 1420,the text logic 1422, the fold logic 1424, the flip logic 1426, theopacity logic 1428, the rotation logic 1430, and/or the arrangementlogic 1432. Furthermore, the touch-enabled device 1400 may includecomponents in addition to or in lieu of touch display module 1406, thetouch screen 1407, the sensors 1410, the detection logic 1412, thecausation logic 1414, the determination logic 1416, the interface logic1418, the size logic 1420, the text logic 1422, the fold logic 1424, theflip logic 1426, the opacity logic 1428, the rotation logic 1430, and/orthe arrangement logic 1432.

FIG. 15 is a system diagram depicting an exemplary mobile device 1500including a variety of optional hardware and software components, showngenerally as 1502. Any components 1502 in the mobile device cancommunicate with any other component, though not all connections areshown, for ease of illustration. The mobile device 1500 may be any of avariety of computing devices (e.g., cell phone, smartphone, handheldcomputer, Personal Digital Assistant (PDA), etc.) and may allow wirelesstwo-way communications with one or more mobile communications networks1504, such as a cellular or satellite network, or with a local area orwide area network.

The mobile device 150 includes processor(s) 1510 (e.g., signalprocessor(s), microprocessor(s), ASIC(s), or other processing logiccircuitry), which may be referred to as a controller, for performingsuch tasks as signal coding, data processing, input/output processing,power control, and/or other functions. An operating system 1512 controlsthe allocation and usage of the components 1502 and support for one ormore application programs 1514 (a.k.a. applications). The applicationprograms 1514 may include common mobile computing applications (e.g.,email applications, calendars, contact managers, web browsers, messagingapplications) and any other computing applications (e.g., wordprocessing applications, mapping applications, or media playerapplications).

The mobile device 1500 further includes a memory 1520. The memory 1520may include non-removable memory 1522 and/or removable memory 1524. Thenon-removable memory 1522 may include RAM, ROM, flash memory, a harddisk, or other well-known memory storage technologies. The removablememory 1524 may include flash memory or a Subscriber Identity Module(SIM) card, which is well known in GSM communication systems, or otherwell-known memory storage technologies, such as “smart cards.” Thememory 1520 may be used for storing data and/or code for running theoperating system 1512 and the applications 1514. Example data caninclude web pages, text, images, sound files, video data, or other datasets to be sent to and/or received from one or more network servers orother devices via one or more wired or wireless networks. The memory1520 may be used to store a subscriber identifier, such as anInternational Mobile Subscriber Identity (IMSI), and an equipmentidentifier, such as an International Mobile Equipment Identifier (IMEI).Such identifiers may be transmitted to a network server to identifyusers and equipment.

The mobile device 1500 may support one or more input devices 1530, suchas a touch screen 1532, microphone 1534, camera 1536, physical keyboard1538 and/or trackball 1540 and one or more output devices 1550, such asa speaker 1552 and a display 1554. Touch screens, such as touch screen1532, may detect input in any of a variety of ways. For example, acapacitive touch screen may detect touch and/or hover input when anobject (e.g., a fingertip) distorts or interrupts an electrical currentrunning across a surface of the capacitive touch screen. As anotherexample, a touch screen may use optical sensor(s) to detect touch and/orhover input when beam(s) from the optical sensor(s) are interrupted.Physical contact with the surface of the screen is not necessary forinput to be detected by some touch screens. For example, the touchscreen 1532 can support hover detection of objects using capacitivesensing, as is well understood in the art. Other detection techniquescan be used, including camera-based detection and ultrasonic-baseddetection. To implement a hover operation, an object is typically placedwithin a predetermined spaced distance from the touch screen (e.g.,between 0.1 to 0.25 inches, between 0.0.25 inches and 0.05 inches,between 0.0.5 inches and 0.75 inches, between 0.75 inches and 1 inch, orbetween 1 inch and 1.5 inches).

The mobile device 1500 includes multi-input presentation logic 1592. Themulti-input presentation logic 1592 is configured to cause a controlinterface to be presented based on a multi-input command in accordancewith any one or more of the techniques described herein.

Other possible output devices (not shown) can include piezoelectric orother haptic output devices. Some devices can serve more than oneinput/output function. For example, touch screen 1532 and display 1554can be combined in a single input/output device. The input devices 1530can include a Natural User Interface (NUI). An NUI is any interfacetechnology that enables a user to interact with a device in a “natural”manner, free from artificial constraints imposed by input devices suchas mice, keyboards, remote controls, and the like. Examples of NUImethods include those relying on speech recognition, touch and stylusrecognition, gesture recognition both on screen and adjacent to thescreen, air gestures, head and eye tracking, voice and speech, vision,touch, gestures, and machine intelligence. Other examples of a NUIinclude motion gesture detection using accelerometers/gyroscopes, facialrecognition, 3D displays, head, eye, and gaze tracking, immersiveaugmented reality and virtual reality systems, all of which provide amore natural interface, as well as technologies for sensing brainactivity using electric field sensing electrodes (EEG and relatedmethods). Thus, in one specific example, the operating system 1512 orapplications 1514 may include speech-recognition software as part of avoice control interface that allows a user to operate the mobile device1500 via voice commands. Further, the mobile device 1500 may includeinput devices and software that allow for user interaction via a user'sspatial gestures, such as detecting and interpreting gestures to provideinput to a gaming application.

Wireless modem(s) 1560 may be coupled to antenna(s) (not shown) and maysupport two-way communications between the processor 1510 and externaldevices, as is well understood in the art. The modem(s) 1560 are showngenerically and can include a cellular modem 1566 for communicating withthe mobile communication network 1504 and/or other radio-based modems(e.g., Bluetooth 1564 and/or Wi-Fi 1562). At least one of the wirelessmodem(s) 1560 is typically configured for communication with one or morecellular networks, such as a GSM network for data and voicecommunications within a single cellular network, between cellularnetworks, or between the mobile device and a public switched telephonenetwork (PSTN).

The mobile device 1500 may further include at least one input/outputport 1580, a power supply 1582, a satellite navigation system receiver1584, such as a Global Positioning System (GPS) receiver, anaccelerometer 1586, and/or a physical connector 1590, which can be a USBport, IEEE 1394 (FireWire) port, and/or RS-232 port. The illustratedcomponents 1502 are not required or all-inclusive, as any components canbe deleted and other components can be added as would be recognized byone skilled in the art.

Although the operations of some of the disclosed methods are describedin a particular, sequential order for convenient presentation, it shouldbe understood that this manner of description encompasses rearrangement,unless a particular ordering is required by specific language set forthherein. For example, operations described sequentially may in some casesbe rearranged or performed concurrently. Moreover, for the sake ofsimplicity, the attached figures may not show the various ways in whichthe disclosed methods can be used in conjunction with other methods.

Any one or more of multi-input presentation logic 108, 208, 308, 408,508, 608, 708, 808, and/or 1408, detection logic 1412, causation logic1414, determination logic 1416, interface logic 1418, size logic 1420,text logic 1422, fold logic 1424, flip logic 1426, opacity logic 1428,rotation logic 1430, arrangement logic 1432, components 1502, flowchart900, flowchart 1000, flowchart 1100, flowchart 1200, and/or flowchart1300 may be implemented in hardware, software, firmware, or anycombination thereof.

For example, any one or more of multi-input presentation logic 108, 208,308, 408, 508, 608, 708, 808, and/or 1408, detection logic 1412,causation logic 1414, determination logic 1416, interface logic 1418,size logic 1420, text logic 1422, fold logic 1424, flip logic 1426,opacity logic 1428, rotation logic 1430, arrangement logic 1432,components 1502, flowchart 900, flowchart 1000, flowchart 1100,flowchart 1200, and/or flowchart 1300 may be implemented, at least inpart, as computer program code configured to be executed in one or moreprocessors.

In another example, any one or more of multi-input presentation logic108, 208, 308, 408, 508, 608, 708, 808, and/or 1408, detection logic1412, causation logic 1414, determination logic 1416, interface logic1418, size logic 1420, text logic 1422, fold logic 1424, flip logic1426, opacity logic 1428, rotation logic 1430, arrangement logic 1432,components 1502, flowchart 900, flowchart 1000, flowchart 1100,flowchart 1200, and/or flowchart 1300 may be implemented, at least inpart, as hardware logic/electrical circuitry. Such hardwarelogic/electrical circuitry may include one or more hardware logiccomponents. Examples of a hardware logic component include but are notlimited to a field-programmable gate array (FPGA), anapplication-specific integrated circuit (ASIC), an application-specificstandard product (ASSP), a system-on-a-chip system (SoC), a complexprogrammable logic device (CPLD), etc. For instance, a SoC may includean integrated circuit chip that includes one or more of a processor(e.g., a microcontroller, microprocessor, digital signal processor(DSP), etc.), memory, one or more communication interfaces, and/orfurther circuits and/or embedded firmware to perform its functions.

III. Further Discussion of Some Example Embodiments

A first example system to present a control interface based on amulti-input command comprises at least one element including at leastone of (a) one or more processors, (b) hardware logic, (c) electricalcircuitry; a touch display module; detection logic; and causation logic.The touch display module includes a touch screen and a plurality ofsensors. The detection logic, implemented using the at least oneelement, is configured to detect a finger input of a finger using one ormore first sensors of the plurality of sensors, the detection logicfurther configured to detect a pointing device that is in a hoverposition with regard to the touch display module using one or moresecond sensors of the plurality of sensors, the hover positioncharacterized by the pointing device being a spaced distance from thetouch display module. The causation logic, implemented using the atleast one element, is configured to cause a control interface to bepresented on the touch screen based on detection of the finger input andfurther based on detection of the pointing device in the hover position.

In a first aspect of the first example system, the one or more firstsensors are associated with a specified location on the touch screen. Inaccordance with the first aspect, the detection logic is configured todetect movement of the pointing device toward the specified locationusing the one or more second sensors while the pointing device is aspaced distance from the touch display module. In further accordancewith the first aspect, the causation logic is configured to cause thecontrol interface to be presented on the touch screen based on detectionof the finger input and further based on detection of the movement ofthe pointing device toward the specified location while the pointingdevice is a spaced distance from the touch display module.

In a second aspect of the first example system, the one or more firstsensors are associated with a first location on the touch screen. Inaccordance with the second aspect, the one or more second sensors areassociated with a second location on the touch screen. In furtheraccordance with the second aspect, the causation logic is configured tocause the control interface to be presented on the touch screen furtherbased on a distance between the first location and the second locationbeing less than or equal to a threshold distance. The second aspect ofthe first example system may be implemented in combination with thefirst aspect of the first example system, though the example embodimentsare not limited in this respect.

In a third aspect of the first example system, the one or more firstsensors are associated with a specified location on the touch screen. Inaccordance with the third aspect, the first example system furthercomprises determination logic configured to determine whether thepointing device is moving toward the specified location. In furtheraccordance with the third aspect, the first example system furthercomprises size logic configured to increase a size of the controlinterface as the pointing device is moving toward the specifiedlocation. The third aspect of the first example system may beimplemented in combination with the first and/or second aspect of thefirst example system, though the example embodiments are not limited inthis respect.

In an example of the third aspect of the first example system, thedetermination logic is configured to determine that the pointing devicemoves from a first location that corresponds to a first point on thetouch screen to a second location that corresponds to a second point onthe touch screen, the first point being a first distance from thespecified location, the second point being a second distance from thespecified location, the first distance being greater than the seconddistance. In accordance with this example, the control interfaceincludes a plurality of interface elements at the first location thatprovide a first amount of information regarding at least onefunctionality of the touch-enabled device. In further accordance withthis example, the size logic is configured to expand the plurality ofinterface elements as the pointing device moves from the first locationto the second location to provide a second amount of informationregarding the at least one functionality of the touch-enabled device,the second amount of information being greater than the first amount ofinformation.

In an implementation of this example of the third aspect of the firstexample system, the plurality of interface elements includes a firstnumber of respective discrete colors. In accordance with thisimplementation, the size logic is configured to expand the plurality ofinterface elements as the pointing device moves from the first locationto the second location to provide a color wheel that includes a secondnumber of colors that is greater than the first number of colors.

In a fourth aspect of the first example system, the one or more firstsensors are associated with a specified location on the touch screen. Inaccordance with the fourth aspect, the control interface includes aplurality of interface elements. In further accordance with the fourthaspect, the first example system further comprises determination logicconfigured to determine whether the pointing device moves toward thespecified location. In further accordance with the fourth aspect, thefirst example system further comprises text logic configured tointroduce text proximate the plurality of interface elements in responseto a determination that the pointing device moves toward the specifiedlocation, the text describing a plurality of actions that is associatedwith the plurality of respective interface elements, each interfaceelement being selectable to cause the respective action with which theinterface element is associated to be performed. The fourth aspect ofthe first example system may be implemented in combination with thefirst, second, and/or third aspect of the first example system, thoughthe example embodiments are not limited in this respect.

In a fifth aspect of the first example system, the one or more firstsensors are associated with a specified location on the touch screen. Inaccordance with the fifth aspect, the first example system furthercomprises determination logic configured to determine that the pointingdevice is moving toward the specified location. In further accordancewith the fifth aspect, the first example system further comprises foldlogic configured to unfold the control interface as the pointing deviceis moving toward the specified location. The fifth aspect of the firstexample system may be implemented in combination with the first, second,third, and/or fourth aspect of the first example system, though theexample embodiments are not limited in this respect.

In an example of the fifth aspect of the first example system, thedetermination logic is configured to determine whether a distancebetween the specified location and a second location on the touch screenthat corresponds to the pointing device is less than or equal to athreshold distance. In accordance with this example, the first examplesystem further comprises flip logic configured to flip the controlinterface over to display a plurality of interface elements that areselectable to invoke a plurality of respective functionalities of thetouch-enabled device.

In an implementation of this example of the fifth aspect of the firstexample system, each interface element of the plurality of interfaceelements is configured to provide a respective menu in response toselection of the respective interface element.

In another implementation of this example of the fifth aspect of thefirst example system, each interface element of the plurality ofinterface elements is configured to invoke a respective command withregard to a selected item on the touch screen in response to selectionof the respective interface element.

In a sixth aspect of the first example system, the first example systemfurther comprises determination logic configured to determine whether aplurality of pointing devices is associated with a plurality ofrespective users, the determination logic further configured todetermine whether the pointing device in the hover position isassociated with a specified user, the determination logic furtherconfigured to determine whether the finger input is received from thespecified user. In accordance with the sixth aspect, the causation logicis configured to cause the control interface to be presented on thetouch screen further based on a determination that the pointing devicein the hover position is associated with the specified user and furtherbased on a determination that the finger input is received from thespecified user. The sixth aspect of the first example system may beimplemented in combination with the first, second, third, fourth, and/orfifth aspect of the first example system, though the example embodimentsare not limited in this respect.

In a seventh aspect of the first example system, the one or more firstsensors are associated with a specified location on the touch screen. Inaccordance with the seventh aspect, the causation logic is configured tocause the control interface to be presented at an interface location onthe touch screen that is based on the specified location. The seventhaspect of the first example system may be implemented in combinationwith the first, second, third, fourth, fifth, and/or sixth aspect of thefirst example system, though the example embodiments are not limited inthis respect.

In an eighth aspect of the first example system, the first examplesystem further comprises determination logic configured to detectwhether the pointing device moves toward the control interface. Inaccordance with the eighth aspect, the first example system furthercomprises opacity logic configured to increase an opacity of the controlinterface as the pointing device moves toward the control interface. Theeighth aspect of the first example system may be implemented incombination with the first, second, third, fourth, fifth, sixth, and/orseventh aspect of the first example system, though the exampleembodiments are not limited in this respect.

In an example of the eighth aspect of the first example system, theopacity logic is configured to set the opacity of the control interfaceto be a fixed opacity in response to a distance between the pointingdevice and the control interface being less than or equal to a thresholddistance.

In another example of the eighth aspect of the first example system, theone or more first sensors are associated with a specified location onthe touch screen. In accordance with this example, the opacity logic isconfigured to set the opacity of the control interface to be a fixedopacity in response to a distance between the pointing device and thespecified location being less than or equal to a threshold distance.

In a ninth aspect of the first example system, the first example systemfurther comprises interface logic configured to form the controlinterface to include a plurality of interface elements, each interfaceelement of the plurality of interface elements configured to provide arespective menu in response to selection of the respective interfaceelement. The ninth aspect of the first example system may be implementedin combination with the first, second, third, fourth, fifth, sixth,seventh, and/or eighth aspect of the first example system, though theexample embodiments are not limited in this respect.

In a tenth aspect of the first example system, the first example systemfurther comprises interface logic configured to form the controlinterface to include a plurality of interface elements, each interfaceelement of the plurality of interface elements configured to invoke arespective command with regard to a selected item on the touch screen inresponse to selection of the respective interface element. The tenthaspect of the first example system may be implemented in combinationwith the first, second, third, fourth, fifth, sixth, seventh, eighth,and/or ninth aspect of the first example system, though the exampleembodiments are not limited in this respect.

In an eleventh aspect of the first example system, the one or more firstsensors are associated with a specified location on the touch screen. Inaccordance with the eleventh aspect, the first example system furthercomprises rotation logic configured to rotate the control interfaceabout the specified location to track movement of the pointing devicewith reference to the specified location. The eleventh aspect of thefirst example system may be implemented in combination with the first,second, third, fourth, fifth, sixth, seventh, eighth, ninth, and/ortenth aspect of the first example system, though the example embodimentsare not limited in this respect.

In an example of the eleventh aspect of the first example system, anaxis that includes the specified location is defined between a top edgeof the touch screen and a bottom edge of the touch screen based on astandard viewing orientation of the touch screen. In accordance withthis example, a path along which the control interface rotatesintersects the axis at a first intersection point and a secondintersection point. In further accordance with this example, the firstexample system further comprises interface logic configured to form thecontrol interface to include a plurality of interface elements that arearranged in a designated order. In further accordance with this example,the first example system further comprises determination logicconfigured to determine whether the control interface is rotated in afirst angular direction through the first intersection point in responseto the control interface being formed to include the plurality ofinterface elements that are arranged in the designated order. In furtheraccordance with this example, the interface logic comprises arrangementlogic configured to rearrange the plurality of interface elements in thecontrol interface to cause the plurality of interface elements to bepresented in the control interface in a reversed order that is reverseof the designated order in response to a determination that the controlinterface is rotated in the first angular direction through the firstintersection point.

In an implementation of this example of the eleventh aspect of the firstexample system, the determination logic is configured to determinewhether the control interface is rotated in a second angular direction,which is opposite the first angular direction, through the firstintersection point or in the first angular direction through the secondintersection point in response to the determination that the controlinterface is rotated in the first angular direction through the firstintersection point. In accordance with this implementation, thearrangement logic is configured to rearrange the plurality of interfaceelements in the control interface to cause the plurality of interfaceelements to be presented in the control interface in the designatedorder in response to a determination that the control interface isrotated in the second angular direction through the first intersectionpoint or in the first angular direction through the second intersectionpoint.

In another implementation of this example of the eleventh aspect of thefirst example system, the determination logic is configured to determinewhether at least a designated portion of the control interface isrotated in the first angular direction at least a designated number ofdegrees beyond the first intersection point. In accordance with thisimplementation, the arrangement logic is configured to rearrange theplurality of interface elements in the control interface to cause theplurality of interface elements to be presented in the control interfacein the reversed order in response to the determination that at least thedesignated portion of the control interface is rotated in the firstangular direction at least the designated number of degrees beyond thefirst intersection point.

In another example of the eleventh aspect of the first example system,an axis that includes the specified location is defined between a topedge of the touch screen and a bottom edge of the touch screen based ona standard viewing orientation of the touch screen. In accordance withthis example, a path along which the control interface rotatesintersects the axis at a first intersection point and a secondintersection point. In further accordance with this example, the firstexample system further comprises interface logic configured to form thecontrol interface to include a plurality of interface elements that arearranged in a designated order. In further accordance with this example,the first example system further comprises determination logicconfigured to determine whether at least a designated portion of thecontrol interface is rotated in a first angular direction at least adesignated number of degrees beyond the first intersection point inresponse to the control interface being formed to include the pluralityof interface elements that are arranged in the designated order. Infurther accordance with this example, the interface logic comprisesarrangement logic configured to rearrange the plurality of interfaceelements in the control interface to cause the plurality of interfaceelements to be presented in the control interface in a reversed orderthat is reverse of the designated order in response to a determinationthat at least the designated portion of the control interface is rotatedin the first angular direction at least the designated number of degreesbeyond the first intersection point. In further accordance with thisexample, the determination logic is further configured to determinewhether at least a specified portion of the control interface is rotatedin a second angular direction, which is opposite the first angulardirection, at least a specified number of degrees beyond the firstintersection point or in the first angular direction at least thespecified number of degrees beyond the second intersection point inresponse to the plurality of interface elements be rearranged in thecontrol interface to cause the plurality of interface elements to bepresented in the control interface in the reversed order. In furtheraccordance with this example, the arrangement logic is configured torearrange the plurality of interface elements in the control interfaceto cause the plurality of interface elements to be presented in thecontrol interface in the designated order in response to a determinationthat at least the specified portion of the control interface is rotatedin the second angular direction at least the specified number of degreesbeyond the first intersection point or in the first angular direction atleast the specified number of degrees beyond the second intersectionpoint.

In yet another example of the eleventh aspect of the first examplesystem, the first example system further comprises determination logicconfigured to determine whether a distance between the specifiedlocation and a second location on the touch screen that corresponds tothe pointing device is less than or equal to a threshold distance. Inaccordance with this example, the rotation logic is further configuredto discontinue the rotating of the control interface about the specifiedlocation to track the movement of the pointing device in response to adetermination that the distance between the specified location and thesecond location is less than or equal to the threshold distance.

In still another example of the eleventh aspect of the first examplesystem, the first example system further comprises determination logicconfigured to determine whether a distance between the control interfaceand a designated location on the touch screen that corresponds to thepointing device is less than or equal to a threshold distance. Inaccordance with this example, the rotation logic is further configuredto discontinue the rotating of the control interface about the specifiedlocation to track the movement of the pointing device in response to adetermination that the distance between the control interface and thedesignated location is less than or equal to the threshold distance.

In an twelfth aspect of the first example system, the first examplesystem further comprises determination logic configured to determine afrequency with which each of a plurality of commands is historicallyreceived via the control interface. In accordance with the twelfthaspect, the first example system further comprises interface logicconfigured to form the control interface to include a plurality ofinterface elements that corresponds to the plurality of respectivecommands. In further accordance with the twelfth aspect, the interfacelogic comprises arrangement logic configured to arrange the plurality ofinterface elements in the control interface to have a plurality ofrespective proximities to a midpoint of the control interface, theplurality of proximities based on the respective frequencies with whichthe respective commands that correspond to the respective interfaceelements are historically received via the control interface. Thetwelfth aspect of the first example system may be implemented incombination with the first, second, third, fourth, fifth, sixth,seventh, eighth, ninth, tenth, and/or eleventh aspect of the firstexample system, though the example embodiments are not limited in thisrespect.

In an thirteenth aspect of the first example system, the first examplesystem further comprises determination logic configured to determine afrequency with which each of a plurality of commands is historicallyreceived via the control interface. In accordance with the thirteenthaspect, the first example system further comprises interface logicconfigured to form the control interface to include a plurality ofinterface elements that corresponds to the plurality of respectivecommands. In accordance with the thirteenth aspect, the interface logiccomprises arrangement logic configured to arrange the plurality ofinterface elements in the control interface to have a plurality ofrespective proximities to a top edge of the touch screen based on astandard viewing orientation of the touch screen, the plurality ofproximities based on the respective frequencies with which therespective commands that correspond to the respective interface elementsare historically received via the control interface. The thirteenthaspect of the first example system may be implemented in combinationwith the first, second, third, fourth, fifth, sixth, seventh, eighth,ninth, tenth, eleventh, and/or twelfth aspect of the first examplesystem, though the example embodiments are not limited in this respect.

A second example system comprises at least one element including atleast one of (a) one or more processors, (b) hardware logic, (c)electrical circuitry; and a touch display module. The at least oneelement is configured to detect a touch input that results from contactof an object with a surface of the touch display module using one ormore first sensors of the plurality of sensors. The at least one elementis configured to detect a hover input that results from a pointingdevice hovering a spaced distance from the touch display module usingone or more second sensors of the plurality of sensors. The at least oneelement is configured to cause a control interface to be presented viathe surface of the touch display module based on detection of the touchinput and further based on detection of the hover input.

In a first example method of presenting a control interface on a touchscreen that is included in a touch display module of a touch-enableddevice based on a multi-input command, a finger input of a finger isdetected by one or more first sensors of a plurality of sensors that areincluded in the touch display module of the touch-enabled device. Apointing device that is in a hover position with regard to the touchdisplay module is detected by one or more second sensors of theplurality of sensors, the hover position characterized by the pointingdevice being a spaced distance from the touch display module. A controlinterface is caused to be presented on the touch screen, by at least oneprocessor of the touch-enabled device, based on detecting the fingerinput and further based on detecting the pointing device in the hoverposition.

In a first aspect of the first example method, detecting the fingerinput comprises detecting the finger input of the finger by the one ormore first sensors that are associated with a specified location on thetouch screen. In accordance with the first aspect, detecting thepointing device in the hover position comprises detecting movement ofthe pointing device toward the specified location while the pointingdevice is a spaced distance from the touch display module. In furtheraccordance with the first aspect, causing the control interface to bepresented comprises causing the control interface to be presented on thetouch screen based on detecting the finger input and further based ondetecting the movement of the pointing device toward the specifiedlocation while the pointing device is a spaced distance from the touchdisplay module.

In a second aspect of the first example method, detecting the fingerinput comprises detecting the finger input of the finger by the one ormore first sensors that are associated with a first location on thetouch screen. In accordance with the second aspect, detecting thepointing device in the hover position comprises detecting the pointingdevice in the hover position by the one or more second sensors that areassociated with a second location on the touch screen. In furtheraccordance with the second aspect, causing the control interface to bepresented comprises causing the control interface to be presented on thetouch screen further based on a distance between the first location andthe second location being less than or equal to a threshold distance.The second aspect of the first example method may be implemented incombination with the first aspect of the first example method, thoughthe example embodiments are not limited in this respect.

In a third aspect of the first example method, detecting the fingerinput comprises detecting the finger input of the finger by the one ormore first sensors that are associated with a specified location on thetouch screen. In accordance with the third aspect, the first examplemethod further comprises determining that the pointing device is movingtoward the specified location. In further accordance with the thirdaspect, the first example method further comprises increasing a size ofthe control interface as the pointing device is moving toward thespecified location. The third aspect of the first example method may beimplemented in combination with the first and/or second aspect of thefirst example method, though the example embodiments are not limited inthis respect.

In an example of the third aspect of the first example method, thepointing device moves from a first location that corresponds to a firstpoint on the touch screen to a second location that corresponds to asecond point on the touch screen, the first point being a first distancefrom the specified location, the second point being a second distancefrom the specified location, the first distance being greater than thesecond distance. In accordance with this example, the control interfaceincludes a plurality of interface elements at the first location thatprovide a first amount of information regarding at least onefunctionality of the touch-enabled device. In further accordance withthis example, increasing the size of the control interface comprisesexpanding the plurality of interface elements as the pointing devicemoves from the first location to the second location to provide a secondamount of information regarding the at least one functionality of thetouch-enabled device, the second amount of information being greaterthan the first amount of information.

In an implementation of this example of the third aspect of the firstexample method, the plurality of interface elements includes a firstnumber of respective discrete colors. In accordance with thisimplementation, expanding the plurality of interface elements comprisesexpanding the plurality of interface elements to provide a color wheelthat includes a second number of colors that is greater than the firstnumber of colors.

In a fourth aspect of the first example method, detecting the fingerinput comprises detecting the finger input of the finger by the one ormore first sensors that are associated with a specified location on thetouch screen. In accordance with the fourth aspect, the controlinterface includes a plurality of interface elements. In furtheraccordance with the fourth aspect, the first example method furthercomprises determining that the pointing device moves toward thespecified location. In further accordance with the fourth aspect, thefirst example method further comprises introducing text proximate theplurality of interface elements in response to determining that thepointing device moves toward the specified location, the text describinga plurality of actions that is associated with the plurality ofrespective interface elements, each interface element being selectableto cause the respective action with which the interface element isassociated to be performed. The fourth aspect of the first examplemethod may be implemented in combination with the first, second, and/orthird aspect of the first example method, though the example embodimentsare not limited in this respect.

In a fifth aspect of the first example method, detecting the fingerinput comprises detecting the finger input of the finger by the one ormore first sensors that are associated with a specified location on thetouch screen. In accordance with the fifth aspect, the first examplemethod further comprises determining that the pointing device is movingtoward the specified location. In further accordance with the fifthaspect, the first example method further comprises unfolding the controlinterface as the pointing device is moving toward the specifiedlocation. The fifth aspect of the first example method may beimplemented in combination with the first, second, third, and/or fourthaspect of the first example method, though the example embodiments arenot limited in this respect.

In an example of the fifth aspect of the first example method, the firstexample method further comprises determining that a distance between thespecified location and a second location on the touch screen thatcorresponds to the pointing device is less than or equal to a thresholddistance. In accordance with this example, the first example methodfurther comprises flipping the control interface over to display aplurality of interface elements that are selectable to invoke aplurality of respective functionalities of the touch-enabled device.

In an implementation of this example of the fifth aspect of the firstexample method, flipping the control interface over comprises flippingthe control interface over to display the plurality of interfaceelements, each interface element of the plurality of interface elementsconfigured to provide a respective menu in response to selection of therespective interface element.

In another implementation of this example of the fifth aspect of thefirst example method, flipping the control interface over comprisesflipping the control interface over to display the plurality ofinterface elements, each interface element of the plurality of interfaceelements configured to invoke a respective command with regard to aselected item on the touch screen in response to selection of therespective interface element.

In a sixth aspect of the first example method, the first example methodfurther comprises determining that a plurality of pointing devices isassociated with a plurality of respective users. In accordance with thesixth aspect, the determining comprises determining that the pointingdevice in the hover position is associated with a specified user. Infurther accordance with the sixth aspect, the determining furthercomprises determining that the finger input is received from thespecified user. In further accordance with the sixth aspect, causing thecontrol interface to be presented comprises causing the controlinterface to be presented on the touch screen further based ondetermining that the pointing device in the hover position is associatedwith the specified user and further based on determining that the fingerinput is received from the specified user. The sixth aspect of the firstexample method may be implemented in combination with the first, second,third, fourth, and/or fifth aspect of the first example method, thoughthe example embodiments are not limited in this respect.

In a seventh aspect of the first example method, detecting the fingerinput comprises detecting the finger input of the finger by the one ormore first sensors that are associated with a specified location on thetouch screen. In accordance with the seventh aspect, causing the controlinterface to be presented on the touch screen comprises causing thecontrol interface to be presented at an interface location on the touchscreen that is based on the specified location. The seventh aspect ofthe first example method may be implemented in combination with thefirst, second, third, fourth, fifth, and/or sixth aspect of the firstexample method, though the example embodiments are not limited in thisrespect.

In an eighth aspect of the first example method, the first examplemethod further comprises detecting that the pointing device moves towardthe control interface. In accordance with the eighth aspect, the firstexample method further comprises increasing an opacity of the controlinterface as the pointing device moves toward the control interface. Theeighth aspect of the first example method may be implemented incombination with the first, second, third, fourth, fifth, sixth, and/orseventh aspect of the first example method, though the exampleembodiments are not limited in this respect.

In an example of the eighth aspect of the first example method, thefirst example method further comprises setting the opacity of thecontrol interface to be a fixed opacity in response to a distancebetween the pointing device and the control interface being less than orequal to a threshold distance.

In another example of the eighth aspect of the first example method,detecting the finger input comprises detecting the finger input of thefinger by the one or more first sensors that are associated with aspecified location on the touch screen. In accordance with this example,the first example method further comprises setting the opacity of thecontrol interface to be a fixed opacity in response to a distancebetween the pointing device and the specified location being less thanor equal to a threshold distance.

In a ninth aspect of the first example method, the first example methodfurther comprises forming the control interface to include a pluralityof interface elements, each interface element of the plurality ofinterface elements configured to provide a respective menu in responseto selection of the respective interface element. The ninth aspect ofthe first example method may be implemented in combination with thefirst, second, third, fourth, fifth, sixth, seventh, and/or eighthaspect of the first example method, though the example embodiments arenot limited in this respect.

In a tenth aspect of the first example method, the first example methodfurther comprises forming the control interface to include a pluralityof interface elements, each interface element of the plurality ofinterface elements configured to invoke a respective command with regardto a selected item on the touch screen in response to selection of therespective interface element. The tenth aspect of the first examplemethod may be implemented in combination with the first, second, third,fourth, fifth, sixth, seventh, eighth, and/or ninth aspect of the firstexample method, though the example embodiments are not limited in thisrespect.

In an eleventh aspect of the first example method, detecting the fingerinput comprises detecting the finger input of the finger by the one ormore first sensors that are associated with a specified location on thetouch screen. In accordance with the eleventh aspect, detecting thefinger input further comprises rotating the control interface about thespecified location to track movement of the pointing device withreference to the specified location. The eleventh aspect of the firstexample method may be implemented in combination with the first, second,third, fourth, fifth, sixth, seventh, eighth, ninth, and/or tenth aspectof the first example method, though the example embodiments are notlimited in this respect.

In an example of the eleventh aspect of the first example method, anaxis that includes the specified location is defined between a top edgeof the touch screen and a bottom edge of the touch screen based on astandard viewing orientation of the touch screen. In accordance withthis example, a path along which the control interface rotatesintersects the axis at a first intersection point and a secondintersection point. In further accordance with this example, the firstexample method further comprises forming the control interface toinclude a plurality of interface elements that are arranged in adesignated order. In further accordance with this example, the firstexample method further comprises determining that the control interfaceis rotated in a first angular direction through the first intersectionpoint in response to forming the control interface to include theplurality of interface elements that are arranged in the designatedorder. In further accordance with this example, the first example methodfurther comprises rearranging the plurality of interface elements in thecontrol interface to cause the plurality of interface elements to bepresented in the control interface in a reversed order that is reverseof the designated order in response to determining that the controlinterface is rotated in the first angular direction through the firstintersection point.

In an implementation of this example of the eleventh aspect of the firstexample method, the first example method further comprises determiningthat the control interface is rotated in a second angular direction,which is opposite the first angular direction, through the firstintersection point or in the first angular direction through the secondintersection point in response to determining that the control interfaceis rotated in the first angular direction through the first intersectionpoint. In accordance with this implementation, the first example methodfurther comprises rearranging the plurality of interface elements in thecontrol interface to cause the plurality of interface elements to bepresented in the control interface in the designated order in responseto determining that the control interface is rotated in the secondangular direction through the first intersection point or in the firstangular direction through the second intersection point.

In another implementation of this example of the eleventh aspect of thefirst example method, determining that the control interface is rotatedin the first angular direction through the first intersection pointcomprises determining that at least a designated portion of the controlinterface is rotated in the first angular direction at least adesignated number of degrees beyond the first intersection point. Inaccordance with this implementation, rearranging the plurality ofinterface elements comprises rearranging the plurality of interfaceelements in the control interface to cause the plurality of interfaceelements to be presented in the control interface in the reversed orderin response to determining that at least the designated portion of thecontrol interface is rotated in the first angular direction at least thedesignated number of degrees beyond the first intersection point.

In another example of the eleventh aspect of the first example method,an axis that includes the specified location is defined between a topedge of the touch screen and a bottom edge of the touch screen based ona standard viewing orientation of the touch screen. In accordance withthis example, a path along which the control interface rotatesintersects the axis at a first intersection point and a secondintersection point. In further accordance with this example, the firstexample method further comprises forming the control interface toinclude a plurality of interface elements that are arranged in adesignated order. In further accordance with this example, the firstexample method further comprises determining that at least a designatedportion of the control interface is rotated in a first angular directionat least a designated number of degrees beyond the first intersectionpoint in response to forming the control interface to include theplurality of interface elements that are arranged in the designatedorder. In further accordance with this example, the first example methodfurther comprises rearranging the plurality of interface elements in thecontrol interface to cause the plurality of interface elements to bepresented in the control interface in a reversed order that is reverseof the designated order in response to determining that at least thedesignated portion of the control interface is rotated in the firstangular direction at least the designated number of degrees beyond thefirst intersection point. In further accordance with this example, thefirst example method further comprises determining that at least aspecified portion of the control interface is rotated in a secondangular direction, which is opposite the first angular direction, atleast a specified number of degrees beyond the first intersection pointor in the first angular direction at least the specified number ofdegrees beyond the second intersection point in response to rearrangingthe plurality of interface elements in the control interface to causethe plurality of interface elements to be presented in the controlinterface in the reversed order. In further accordance with thisexample, the first example method further comprises rearranging theplurality of interface elements in the control interface to cause theplurality of interface elements to be presented in the control interfacein the designated order in response to determining that at least thespecified portion of the control interface is rotated in the secondangular direction at least the specified number of degrees beyond thefirst intersection point or in the first angular direction at least thespecified number of degrees beyond the second intersection point.

In yet another example of the eleventh aspect of the first examplemethod, the first example method further comprises determining that adistance between the specified location and a second location on thetouch screen that corresponds to the pointing device is less than orequal to a threshold distance. In accordance with this example, thefirst example method further comprises discontinuing the rotating of thecontrol interface about the specified location to track the movement ofthe pointing device in response to determining that the distance betweenthe specified location and the second location is less than or equal tothe threshold distance.

In still another example of the eleventh aspect of the first examplemethod, the first example method further comprises determining that adistance between the control interface and a designated location on thetouch screen that corresponds to the pointing device is less than orequal to a threshold distance. In accordance with this example, thefirst example method further comprises discontinuing the rotating of thecontrol interface about the specified location to track the movement ofthe pointing device in response to determining that the distance betweenthe control interface and the designated location is less than or equalto the threshold distance.

In a twelfth aspect of the first example method, the first examplemethod further comprises determine a frequency with which each of aplurality of commands is historically received via the controlinterface. In accordance with the twelfth aspect, the first examplemethod further comprises forming the control interface to include aplurality of interface elements that corresponds to the plurality ofrespective commands. In further accordance with the twelfth aspect, theforming comprises arranging the plurality of interface elements in thecontrol interface to have a plurality of respective proximities to amidpoint of the control interface, the plurality of proximities based onthe respective frequencies with which the respective commands thatcorrespond to the respective interface elements are historicallyreceived via the control interface. The twelfth aspect of the firstexample method may be implemented in combination with the first, second,third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, and/oreleventh aspect of the first example method, though the exampleembodiments are not limited in this respect.

In a thirteenth aspect of the first example method, the first examplemethod further comprises determine a frequency with which each of aplurality of commands is historically received via the controlinterface. In accordance with the thirteenth aspect, the first examplemethod further comprises forming the control interface to include aplurality of interface elements that corresponds to the plurality ofrespective commands. In further accordance with the thirteenth aspect,the forming comprises arranging the plurality of interface elements inthe control interface to have a plurality of respective proximities to atop edge of the touch screen based on a standard viewing orientation ofthe touch screen, the plurality of proximities based on the respectivefrequencies with which the respective commands that correspond to therespective interface elements are historically received via the controlinterface. The thirteenth aspect of the first example method may beimplemented in combination with the first, second, third, fourth, fifth,sixth, seventh, eighth, ninth, tenth, eleventh, and/or twelfth aspect ofthe first example method, though the example embodiments are not limitedin this respect.

In a second example method of presenting a control interface on a touchscreen that is included in a touch display module of a touch-enableddevice based on a multi-input command, a touch input that results fromcontact of an object with a surface of the touch display module isdetected by one or more first sensors of a plurality of sensors that areincluded in the touch display module. A hover input that results from apointing device hovering a spaced distance from the touch display moduleis detected by one or more second sensors of the plurality of sensors.The control interface is caused to be presented via the surface of thetouch display module, by at least one processor of the touch-enableddevice, based on detecting the touch input and further based ondetecting the hover input.

IV. Example Computer System

FIG. 16 depicts an example computer 1600 in which embodiments may beimplemented. Any one or more of touch-enabled devices 100, 200, 300,400, 500, 600, 700, 800, and/or 1400 shown in respective FIGS. 1-8 and14 may be implemented using computer 1600, including one or morefeatures of computer 1600 and/or alternative features. Computer 1600 maybe a general-purpose computing device in the form of a conventionalpersonal computer, a mobile computer, or a workstation, for example, orcomputer 1600 may be a special purpose computing device. The descriptionof computer 1600 provided herein is provided for purposes ofillustration, and is not intended to be limiting. Embodiments may beimplemented in further types of computer systems, as would be known topersons skilled in the relevant art(s).

As shown in FIG. 16, computer 1600 includes a processing unit 1602, asystem memory 1604, and a bus 1606 that couples various systemcomponents including system memory 1604 to processing unit 1602. Bus1606 represents one or more of any of several types of bus structures,including a memory bus or memory controller, a peripheral bus, anaccelerated graphics port, and a processor or local bus using any of avariety of bus architectures. System memory 1604 includes read onlymemory (ROM) 1608 and random access memory (RAM) 1610. A basicinput/output system 1612 (BIOS) is stored in ROM 1608.

Computer 1600 also has one or more of the following drives: a hard diskdrive 1614 for reading from and writing to a hard disk, a magnetic diskdrive 1616 for reading from or writing to a removable magnetic disk1618, and an optical disk drive 1620 for reading from or writing to aremovable optical disk 1622 such as a CD ROM, DVD ROM, or other opticalmedia. Hard disk drive 1614, magnetic disk drive 1616, and optical diskdrive 1620 are connected to bus 1606 by a hard disk drive interface1624, a magnetic disk drive interface 1626, and an optical driveinterface 1628, respectively. The drives and their associatedcomputer-readable storage media provide nonvolatile storage ofcomputer-readable instructions, data structures, program modules andother data for the computer. Although a hard disk, a removable magneticdisk and a removable optical disk are described, other types ofcomputer-readable storage media can be used to store data, such as flashmemory cards, digital video disks, random access memories (RAMs), readonly memories (ROM), and the like.

A number of program modules may be stored on the hard disk, magneticdisk, optical disk, ROM, or RAM. These programs include an operatingsystem 1630, one or more application programs 1632, other programmodules 1634, and program data 1636. Application programs 1632 orprogram modules 1634 may include, for example, computer program logicfor implementing any one or more of multi-input presentation logic 108,208, 308, 408, 508, 608, 708, 808, and/or 1408, detection logic 1412,causation logic 1414, determination logic 1416, interface logic 1418,size logic 1420, text logic 1422, fold logic 1424, flip logic 1426,opacity logic 1428, rotation logic 1430, arrangement logic 1432,flowchart 900 (including any step of flowchart 900), flowchart 1000(including any step of flowchart 1000), flowchart 1100 (including anystep of flowchart 1100), flowchart 1200 (including any step of flowchart1200), and/or flowchart 1300 (including any step of flowchart 1300), asdescribed herein.

A user may enter commands and information into the computer 1600 throughinput devices such as keyboard 1638 and pointing device 1640. Otherinput devices (not shown) may include a microphone, joystick, game pad,satellite dish, scanner, touch screen, camera, accelerometer, gyroscope,or the like. These and other input devices are often connected to theprocessing unit 1602 through a serial port interface 1642 that iscoupled to bus 1606, but may be connected by other interfaces, such as aparallel port, game port, or a universal serial bus (USB).

A display device 1644 (e.g., a monitor) is also connected to bus 1606via an interface, such as a video adapter 1646. In addition to displaydevice 1644, computer 1600 may include other peripheral output devices(not shown) such as speakers and printers.

Computer 1600 is connected to a network 1648 (e.g., the Internet)through a network interface or adapter 1650, a modem 1652, or othermeans for establishing communications over the network. Modem 1652,which may be internal or external, is connected to bus 1606 via serialport interface 1642.

As used herein, the terms “computer program medium” and“computer-readable storage medium” are used to generally refer to media(e.g., non-transitory media) such as the hard disk associated with harddisk drive 1614, removable magnetic disk 1618, removable optical disk1622, as well as other media such as flash memory cards, digital videodisks, random access memories (RAMs), read only memories (ROM), and thelike. Such computer-readable storage media are distinguished from andnon-overlapping with communication media (do not include communicationmedia). Communication media embodies computer-readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wireless media such asacoustic, RF, infrared and other wireless media, as well as wired media.Example embodiments are also directed to such communication media.

As noted above, computer programs and modules (including applicationprograms 1632 and other program modules 1634) may be stored on the harddisk, magnetic disk, optical disk, ROM, or RAM. Such computer programsmay also be received via network interface 1650 or serial port interface1642. Such computer programs, when executed or loaded by an application,enable computer 1600 to implement features of embodiments discussedherein. Accordingly, such computer programs represent controllers of thecomputer 1600.

Example embodiments are also directed to computer program productscomprising software (e.g., computer-readable instructions) stored on anycomputer-useable medium. Such software, when executed in one or moredata processing devices, causes data processing device(s) to operate asdescribed herein. Embodiments may employ any computer-useable orcomputer-readable medium, known now or in the future. Examples ofcomputer-readable mediums include, but are not limited to storagedevices such as RAM, hard drives, floppy disks, CD ROMs, DVD ROMs, zipdisks, tapes, magnetic storage devices, optical storage devices,MEMS-based storage devices, nanotechnology-based storage devices, andthe like.

It will be recognized that the disclosed technologies are not limited toany particular computer or type of hardware. Certain details of suitablecomputers and hardware are well known and need not be set forth indetail in this disclosure.

V. Conclusion

Although the subject matter has been described in language specific tostructural features and/or acts, it is to be understood that the subjectmatter defined in the appended claims is not necessarily limited to thespecific features or acts described above. Rather, the specific featuresand acts described above are disclosed as examples of implementing theclaims, and other equivalent features and acts are intended to be withinthe scope of the claims.

What is claimed is:
 1. A system to present a control interface based ona multi-input command, the system comprising: a touch display modulethat includes a touch screen and a plurality of sensors; and one or moreprocessors coupled to the touch display module, the one or moreprocessors configured to: detect a finger input of a finger using one ormore first sensors of the plurality of sensors, the one or more firstsensors are associated with a specified location on the touch screen;detect a pointing device that is in a hover position with regard to thetouch display module using one or more second sensors of the pluralityof sensors, the hover position characterized by the pointing devicebeing a spaced distance from the touch display module; detect movementof the pointing device toward the specified location using the one ormore second sensors while the pointing device is within a designateddistance from the touch display module; and cause a control interface tobe presented on the touch screen based on detection of the finger inputand further based on the movement of the pointing device being towardthe specified location while the pointing device is within thedesignated distance from the touch display module.
 2. The system ofclaim 1, wherein the one or more second sensors are associated with adesignated location on the touch screen; and wherein the one or moreprocessors are configured to cause the control interface to be presentedon the touch screen further based on a distance between the specifiedlocation and the designated location being less than or equal to athreshold distance.
 3. The system of claim 1, wherein the controlinterface includes a plurality of interface elements; and wherein theone or more processors are further configured to introduce textproximate the plurality of interface elements in response to adetermination that the pointing device moves toward the specifiedlocation, the text describing a plurality of actions that is associatedwith the plurality of respective interface elements, each interfaceelement being selectable to cause the respective action with which theinterface element is associated to be performed.
 4. The system of claim1, wherein the one or more processors are further configured to unfoldthe control interface as the pointing device is moving toward thespecified location.
 5. The system of claim 4, wherein the one or moreprocessors are configured to: determine whether a distance between thespecified location and a second location on the touch screen thatcorresponds to the pointing device is less than or equal to a thresholddistance; and flip the control interface over to display a plurality ofinterface elements that are selectable to invoke a plurality ofrespective functionalities of the touch-enabled device.
 6. The system ofclaim 1, wherein the one or more processors are further configured to:determine whether a plurality of pointing devices is associated with aplurality of respective users; determine whether the pointing device inthe hover position is associated with a specified user; determinewhether the finger input is received from the specified user; and causethe control interface to be presented on the touch screen further basedon a determination that the pointing device in the hover position isassociated with the specified user and further based on a determinationthat the finger input is received from the specified user.
 7. The systemof claim 1, wherein the one or more processors are configured to causethe control interface to be presented at an interface location on thetouch screen that is based on the specified location, based on thedetection of the finger input and further based on the detection of thepointing device in the hover position.
 8. The system of claim 1, whereinthe one or more processors are further configured to: determine whetherthe pointing device moves toward the control interface; and increase anopacity of the control interface as the pointing device moves toward thecontrol interface.
 9. The system of claim 8, wherein the one or moreprocessors are configured to set the opacity of the control interface tobe a fixed opacity in response to a distance between the pointing deviceand the control interface being less than or equal to a thresholddistance.
 10. A system comprising: a touch display module that includesa touch screen and a plurality of sensors; and one or more processorscoupled to the touch display module, the one or more processorsconfigured to: detect a touch input that results from contact of anobject with a surface of the touch display module using one or morefirst sensors of the plurality of sensors, the one or more first sensorsare associated with a specified location on the touch screen; detect ahover input that results from a pointing device hovering a spaceddistance from the touch display module using one or more second sensorsof the plurality of sensors; detect movement of the pointing devicetoward the specified location using the one or more second sensors whilethe pointing device is within a designated distance from the touchdisplay module; and cause a control interface to be presented via thesurface of the touch display module based on detection of the touchinput and further based on the movement of the pointing device beingtoward the specified location while the pointing device is within thedesignated distance from the touch display module.
 11. The system ofclaim 10, wherein the one or more processors are further configured tounfold the control interface as the pointing device is moving toward thespecified location.
 12. The system of claim 11, wherein the one or moreprocessors are further configured to: determine whether a distancebetween the specified location and a second location on the touch screenthat corresponds to the pointing device is less than or equal to athreshold distance; and flip the control interface over to display aplurality of interface elements that are selectable to invoke aplurality of respective functionalities of the touch-enabled device. 13.The system of claim 10, wherein the one or more second sensors areassociated with a designated location on the touch screen; and whereinthe one or more processors are configured to cause the control interfaceto be presented via the surface of the touch display module furtherbased on a distance between the specified location and the designatedlocation being less than or equal to a threshold distance.
 14. Thesystem of claim 10, wherein the control interface includes a pluralityof interface elements; and wherein the one or more processors arefurther configured to introduce text proximate the plurality ofinterface elements in response to a determination that the pointingdevice moves toward the specified location, the text describing aplurality of actions that is associated with the plurality of respectiveinterface elements, each interface element being selectable to cause therespective action with which the interface element is associated to beperformed.
 15. The system of claim 10, wherein the one or moreprocessors are configured to cause the control interface to be presentedat an interface location on the touch screen that is based on thespecified location, based on the detection of the touch input andfurther based on detection of the hover input.
 16. The system of claim10, wherein the one or more processors are further configured to:determine whether the pointing device moves toward the controlinterface; and increase an opacity of the control interface as thepointing device moves toward the control interface.
 17. The system ofclaim 16, wherein the one or more processors are configured to set theopacity of the control interface to be a fixed opacity in response to adistance between the pointing device and the control interface beingless than or equal to a threshold distance.
 18. A method of presenting acontrol interface on a touch screen that is included in a touch displaymodule of a touch-enabled device based on a multi-input command, themethod comprising: detecting a finger input of a finger by one or morefirst sensors of a plurality of sensors that are included in the touchdisplay module of the touch-enabled device, the one or more firstsensors are associated with a specified location on the touch screen;detecting a pointing device that is in a hover position with regard tothe touch display module by one or more second sensors of the pluralityof sensors, the hover position characterized by the pointing devicebeing a spaced distance from the touch display module; detectingmovement of the pointing device toward the specified location using theone or more second sensors while the pointing device is within adesignated distance from the touch display module; and causing a controlinterface to be presented on the touch screen, by at least one processorof the touch-enabled device, based on detecting the finger input andfurther based on the movement of the pointing device being toward thespecified location while the pointing device is within the designateddistance from the touch display module.
 19. The method of claim 18,wherein the one or more second sensors are associated with a designatedlocation on the touch screen; and wherein causing the control interfaceto be presented on the touch screen comprises: causing the controlinterface to be presented on the touch screen further based on adistance between the specified location and the designated locationbeing less than or equal to a threshold distance.
 20. The method ofclaim 18, further comprising: introducing text proximate a plurality ofinterface elements that are included in the control interface inresponse to a determination that the pointing device moves toward thespecified location, the text describing a plurality of actions that isassociated with the plurality of respective interface elements, eachinterface element being selectable to cause the respective action withwhich the interface element is associated to be performed.